OpenCV的颜色空间转换函数:
 
C++: void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0 )
 
参数dstCn原来一直沿用CV_BGR2GRAY, CV_RGB2GRAY, CV_GRAY2BGR, CV_GRAY2RGB等格式,但最新几个版本的OpenCV已改为COLOR_BGR2GRAY类似形式,今天才看源代码imgproc.hpp才发现,但官方文档还没修改,如下图,如果程序中使用较新的版本OpenCV,采用CV_BGR2GRAY可能会一直出错。
 
 
 
新的OpenCV中imgproc.hpp的定义如下:
enum
{
COLOR_BGR2BGRA =,
COLOR_RGB2RGBA =COLOR_BGR2BGRA, COLOR_BGRA2BGR =,
COLOR_RGBA2RGB =COLOR_BGRA2BGR, COLOR_BGR2RGBA =,
COLOR_RGB2BGRA =COLOR_BGR2RGBA, COLOR_RGBA2BGR =,
COLOR_BGRA2RGB =COLOR_RGBA2BGR, COLOR_BGR2RGB =,
COLOR_RGB2BGR =COLOR_BGR2RGB, COLOR_BGRA2RGBA =,
COLOR_RGBA2BGRA =COLOR_BGRA2RGBA, COLOR_BGR2GRAY =,
COLOR_RGB2GRAY =,
COLOR_GRAY2BGR =,
COLOR_GRAY2RGB =COLOR_GRAY2BGR,
COLOR_GRAY2BGRA =,
COLOR_GRAY2RGBA =COLOR_GRAY2BGRA,
COLOR_BGRA2GRAY =,
COLOR_RGBA2GRAY =, COLOR_BGR2BGR565 =,
COLOR_RGB2BGR565 =,
COLOR_BGR5652BGR =,
COLOR_BGR5652RGB =,
COLOR_BGRA2BGR565 =,
COLOR_RGBA2BGR565 =,
COLOR_BGR5652BGRA =,
COLOR_BGR5652RGBA =, COLOR_GRAY2BGR565 =,
COLOR_BGR5652GRAY =, COLOR_BGR2BGR555 =,
COLOR_RGB2BGR555 =,
COLOR_BGR5552BGR =,
COLOR_BGR5552RGB =,
COLOR_BGRA2BGR555 =,
COLOR_RGBA2BGR555 =,
COLOR_BGR5552BGRA =,
COLOR_BGR5552RGBA =, COLOR_GRAY2BGR555 =,
COLOR_BGR5552GRAY =, COLOR_BGR2XYZ =,
COLOR_RGB2XYZ =,
COLOR_XYZ2BGR =,
COLOR_XYZ2RGB =, COLOR_BGR2YCrCb =,
COLOR_RGB2YCrCb =,
COLOR_YCrCb2BGR =,
COLOR_YCrCb2RGB =, COLOR_BGR2HSV =,
COLOR_RGB2HSV =, COLOR_BGR2Lab =,
COLOR_RGB2Lab =, COLOR_BayerBG2BGR =,
COLOR_BayerGB2BGR =,
COLOR_BayerRG2BGR =,
COLOR_BayerGR2BGR =, COLOR_BayerBG2RGB =COLOR_BayerRG2BGR,
COLOR_BayerGB2RGB =COLOR_BayerGR2BGR,
COLOR_BayerRG2RGB =COLOR_BayerBG2BGR,
COLOR_BayerGR2RGB =COLOR_BayerGB2BGR, COLOR_BGR2Luv =,
COLOR_RGB2Luv =,
COLOR_BGR2HLS =,
COLOR_RGB2HLS =, COLOR_HSV2BGR =,
COLOR_HSV2RGB =, COLOR_Lab2BGR =,
COLOR_Lab2RGB =,
COLOR_Luv2BGR =,
COLOR_Luv2RGB =,
COLOR_HLS2BGR =,
COLOR_HLS2RGB =, COLOR_BayerBG2BGR_VNG =,
COLOR_BayerGB2BGR_VNG =,
COLOR_BayerRG2BGR_VNG =,
COLOR_BayerGR2BGR_VNG =, COLOR_BayerBG2RGB_VNG =COLOR_BayerRG2BGR_VNG,
COLOR_BayerGB2RGB_VNG =COLOR_BayerGR2BGR_VNG,
COLOR_BayerRG2RGB_VNG =COLOR_BayerBG2BGR_VNG,
COLOR_BayerGR2RGB_VNG =COLOR_BayerGB2BGR_VNG, COLOR_BGR2HSV_FULL = ,
COLOR_RGB2HSV_FULL = ,
COLOR_BGR2HLS_FULL = ,
COLOR_RGB2HLS_FULL = , COLOR_HSV2BGR_FULL = ,
COLOR_HSV2RGB_FULL = ,
COLOR_HLS2BGR_FULL = ,
COLOR_HLS2RGB_FULL = , COLOR_LBGR2Lab = ,
COLOR_LRGB2Lab = ,
COLOR_LBGR2Luv = ,
COLOR_LRGB2Luv = , COLOR_Lab2LBGR = ,
COLOR_Lab2LRGB = ,
COLOR_Luv2LBGR = ,
COLOR_Luv2LRGB = , COLOR_BGR2YUV = ,
COLOR_RGB2YUV = ,
COLOR_YUV2BGR = ,
COLOR_YUV2RGB = , COLOR_BayerBG2GRAY = ,
COLOR_BayerGB2GRAY = ,
COLOR_BayerRG2GRAY = ,
COLOR_BayerGR2GRAY = , //YUV 4:2:0 formats family
COLOR_YUV2RGB_NV12 = ,
COLOR_YUV2BGR_NV12 = ,
COLOR_YUV2RGB_NV21 = ,
COLOR_YUV2BGR_NV21 = ,
COLOR_YUV420sp2RGB = COLOR_YUV2RGB_NV21,
COLOR_YUV420sp2BGR = COLOR_YUV2BGR_NV21, COLOR_YUV2RGBA_NV12 = ,
COLOR_YUV2BGRA_NV12 = ,
COLOR_YUV2RGBA_NV21 = ,
COLOR_YUV2BGRA_NV21 = ,
COLOR_YUV420sp2RGBA = COLOR_YUV2RGBA_NV21,
COLOR_YUV420sp2BGRA = COLOR_YUV2BGRA_NV21, COLOR_YUV2RGB_YV12 = ,
COLOR_YUV2BGR_YV12 = ,
COLOR_YUV2RGB_IYUV = ,
COLOR_YUV2BGR_IYUV = ,
COLOR_YUV2RGB_I420 = COLOR_YUV2RGB_IYUV,
COLOR_YUV2BGR_I420 = COLOR_YUV2BGR_IYUV,
COLOR_YUV420p2RGB = COLOR_YUV2RGB_YV12,
COLOR_YUV420p2BGR = COLOR_YUV2BGR_YV12, COLOR_YUV2RGBA_YV12 = ,
COLOR_YUV2BGRA_YV12 = ,
COLOR_YUV2RGBA_IYUV = ,
COLOR_YUV2BGRA_IYUV = ,
COLOR_YUV2RGBA_I420 = COLOR_YUV2RGBA_IYUV,
COLOR_YUV2BGRA_I420 = COLOR_YUV2BGRA_IYUV,
COLOR_YUV420p2RGBA = COLOR_YUV2RGBA_YV12,
COLOR_YUV420p2BGRA = COLOR_YUV2BGRA_YV12, COLOR_YUV2GRAY_420 = ,
COLOR_YUV2GRAY_NV21 = COLOR_YUV2GRAY_420,
COLOR_YUV2GRAY_NV12 = COLOR_YUV2GRAY_420,
COLOR_YUV2GRAY_YV12 = COLOR_YUV2GRAY_420,
COLOR_YUV2GRAY_IYUV = COLOR_YUV2GRAY_420,
COLOR_YUV2GRAY_I420 = COLOR_YUV2GRAY_420,
COLOR_YUV420sp2GRAY = COLOR_YUV2GRAY_420,
COLOR_YUV420p2GRAY = COLOR_YUV2GRAY_420, //YUV 4:2:2 formats family
COLOR_YUV2RGB_UYVY = ,
COLOR_YUV2BGR_UYVY = ,
//COLOR_YUV2RGB_VYUY = 109,
//COLOR_YUV2BGR_VYUY = 110,
COLOR_YUV2RGB_Y422 = COLOR_YUV2RGB_UYVY,
COLOR_YUV2BGR_Y422 = COLOR_YUV2BGR_UYVY,
COLOR_YUV2RGB_UYNV = COLOR_YUV2RGB_UYVY,
COLOR_YUV2BGR_UYNV = COLOR_YUV2BGR_UYVY, COLOR_YUV2RGBA_UYVY = ,
COLOR_YUV2BGRA_UYVY = ,
//COLOR_YUV2RGBA_VYUY = 113,
//COLOR_YUV2BGRA_VYUY = 114,
COLOR_YUV2RGBA_Y422 = COLOR_YUV2RGBA_UYVY,
COLOR_YUV2BGRA_Y422 = COLOR_YUV2BGRA_UYVY,
COLOR_YUV2RGBA_UYNV = COLOR_YUV2RGBA_UYVY,
COLOR_YUV2BGRA_UYNV = COLOR_YUV2BGRA_UYVY, COLOR_YUV2RGB_YUY2 = ,
COLOR_YUV2BGR_YUY2 = ,
COLOR_YUV2RGB_YVYU = ,
COLOR_YUV2BGR_YVYU = ,
COLOR_YUV2RGB_YUYV = COLOR_YUV2RGB_YUY2,
COLOR_YUV2BGR_YUYV = COLOR_YUV2BGR_YUY2,
COLOR_YUV2RGB_YUNV = COLOR_YUV2RGB_YUY2,
COLOR_YUV2BGR_YUNV = COLOR_YUV2BGR_YUY2, COLOR_YUV2RGBA_YUY2 = ,
COLOR_YUV2BGRA_YUY2 = ,
COLOR_YUV2RGBA_YVYU = ,
COLOR_YUV2BGRA_YVYU = ,
COLOR_YUV2RGBA_YUYV = COLOR_YUV2RGBA_YUY2,
COLOR_YUV2BGRA_YUYV = COLOR_YUV2BGRA_YUY2,
COLOR_YUV2RGBA_YUNV = COLOR_YUV2RGBA_YUY2,
COLOR_YUV2BGRA_YUNV = COLOR_YUV2BGRA_YUY2, COLOR_YUV2GRAY_UYVY = ,
COLOR_YUV2GRAY_YUY2 = ,
//COLOR_YUV2GRAY_VYUY = COLOR_YUV2GRAY_UYVY,
COLOR_YUV2GRAY_Y422 = COLOR_YUV2GRAY_UYVY,
COLOR_YUV2GRAY_UYNV = COLOR_YUV2GRAY_UYVY,
COLOR_YUV2GRAY_YVYU = COLOR_YUV2GRAY_YUY2,
COLOR_YUV2GRAY_YUYV = COLOR_YUV2GRAY_YUY2,
COLOR_YUV2GRAY_YUNV = COLOR_YUV2GRAY_YUY2, // alpha premultiplication
COLOR_RGBA2mRGBA = ,
COLOR_mRGBA2RGBA = , COLOR_RGB2YUV_I420 = ,
COLOR_BGR2YUV_I420 = ,
COLOR_RGB2YUV_IYUV = COLOR_RGB2YUV_I420,
COLOR_BGR2YUV_IYUV = COLOR_BGR2YUV_I420, COLOR_RGBA2YUV_I420 = ,
COLOR_BGRA2YUV_I420 = ,
COLOR_RGBA2YUV_IYUV = COLOR_RGBA2YUV_I420,
COLOR_BGRA2YUV_IYUV = COLOR_BGRA2YUV_I420,
COLOR_RGB2YUV_YV12 = ,
COLOR_BGR2YUV_YV12 = ,
COLOR_RGBA2YUV_YV12 = ,
COLOR_BGRA2YUV_YV12 = , COLOR_COLORCVT_MAX =
};

OpenCV 颜色空间转换参数CV_BGR2GRAY改变的更多相关文章

  1. 颜色空间转换 cvtColor()[OpenCV 笔记13]

    void cvtColor(InputArray src, OutputArray dst, ) src: 输入图像 dst: 输出图像 code: 颜色空间转换标识符 OpenCV2的CV_前缀宏命 ...

  2. OpenCV 的颜色空间转换

    # coding: utf-8 ''' 第13章主要介绍:颜色空间转换 ''' import cv2 import numpy as np ''' 经常用到的颜色空间转换是: BGR<-> ...

  3. opencv学习笔记——颜色空间转换函数cv::cvtColor详解

    cv::cvtColor()用于将图像从一个颜色空间转换到另一个颜色空间的转换(目前常见的颜色空间均支持),并且在转换的过程中能够保证数据的类型不变,即转换后的图像的数据类型和位深与源图像一致. 具体 ...

  4. OpenCV 学习笔记(10)HSV颜色空间及颜色空间转换(RGB-HSV)

    1.1 颜色空间介绍 RGB 颜色空间是大家最熟悉的颜色空间,即三基色空间,任何一种颜色都可以由该三种 颜色混合而成.然而一般对颜色空间的图像进行有效处理都是在 HSV 空间进行的,HSV(色 调 H ...

  5. OpenCV学习笔记(5)——颜色空间转换

    学习如歌对图像进行颜色空间转换,从BGR到灰度图,或者从BGR到HSV等 创建一个程序用来从一幅图像中获取某个特定颜色的物体 1.转换颜色空间 OpenCV中有超过150种进行颜色空间转化的方法,但是 ...

  6. python数字图像处理(4):图像数据类型及颜色空间转换

    一.图像数据类型及转换 在skimage中,一张图片就是一个简单的numpy数组,数组的数据类型有很多种,相互之间也可以转换.这些数据类型及取值范围如下表所示: Data type Range uin ...

  7. 【OpenCV-Python】-颜色空间转换

    OpenCV官方教程中文版 for Python,原文为段立辉翻译,感谢Linux公社www.linuxidc.com此文档为自学转述,如有侵权请联系本人 使用工具Python3.6使用包cv2,nu ...

  8. Python-OpenCV中图像颜色空间转换

    目录 cv2.cvtColor() 1. RGB to GRAY 2. RGB to CIE XYZ 3. RGB to YCrCb JPEG 4. RGB to HSV 5. RGB to HLS ...

  9. (Ooencv3)颜色空间转换

    (Ooencv3)颜色空间转换 opencv中有多种色彩空间,包括 RGB.HSI.HSL.HSV.HSB.YCrCb.CIE XYZ.CIE Lab8种,使用中经常要遇到色彩空间的转化,以便生成ma ...

随机推荐

  1. Java泛型底层源码解析--ConcurrentHashMap(JDK1.7)

    1. Concurrent相关历史 JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能.因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全 ...

  2. 学习Oracle的一些收获

    前言: 在看尚硅谷的Oracle视频时,总结的一些自己之前不熟的,或者完全不了解的知识点,只适用于本人,本人有一定的SQL基础,所以一些我比较熟悉的知识点不会列出来. Oracle中SQL使用技巧: ...

  3. Hadoop基础-SequenceFile的压缩编解码器

    Hadoop基础-SequenceFile的压缩编解码器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Hadoop压缩简介 1>.文件压缩的好处 第一:较少存储文件占用 ...

  4. android listview使用自定义的adapter没有了OnItemClickListener事件解决办法

    在使用listview的时用使用自定义的adapter的时候,如果你的item布局中包含有Button,Checkable继承来的所有控件,那么你将无法获取listview的onItemClickLi ...

  5. Sensor信号输出YUV、RGB、RAW DATA、JPEG 4种方式区别

    简单来说,YUV: luma (Y) + chroma (UV) 格式, 一般情况下sensor支持YUV422格式,即数据格式是按Y-U-Y-V次序输出的RGB: 传统的红绿蓝格式,比如RGB565 ...

  6. [洛谷P4492] [HAOI2018]苹果树

    洛谷题目链接:[HAOI2018]苹果树 题目背景 HAOI2018 Round2 第一题 题目描述 小 C 在自己家的花园里种了一棵苹果树, 树上每个结点都有恰好两个分支. 经过细心的观察, 小 C ...

  7. R5—字符串处理/正则表达式

    R通常被用来进行数值计算比较多,字符串处理相对较少,而且关于字符串的函数也不多,用得多的就是substr.strsplit.paste.regexpr这几个了.实际上R关于字符串处理的功能是非常强大的 ...

  8. LintCode 158: Anagram

    LintCode 158: Anagram 题目描述 写出一个函数anagram(s, t)判断两个字符串是否可以通过改变字母的顺序变成一样的字符串. 样例 给出s = "abcd" ...

  9. c/c++ const 用法

    概述 1. const有什么用途? 在 c程序中,const的用法主要有定义常量.修饰函数参数.修饰函数返回值等3个用处. 在c++程序中,它还可以修饰函数的定义体,定义类中某个成员为常态函数,即不改 ...

  10. python调用百度语音识别接口实时识别

    1.本文直接上干货 奉献代码:https://github.com/wuzaipei/audio_discern/tree/master/%E8%AF%AD%E9%9F%B3%E8%AF%86%E5% ...