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. linux 命令操作记录

    1.查找名为 migrations 的文件夹/文件,并删除 find . -name "migrations" -type d #查找当前目录下文件夹名为 migrations 的 ...

  2. Tweepy1——抓取Twitter数据

    sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...

  3. Matlab修改背景颜色

    步骤: 1, 在matlab命令行中运行prefdir, 获取matlab.prf文件所在路径 2, 打开matlab.prf所在路径, 找到matlab.prf文件, 作备份 3, 将以下内容添加到 ...

  4. SPI、I2C、UART、I2S、GPIO、SDIO、CAN

    总线,总线,总要陷进里面.这世界上的信号都一样,但是总线却成千上万,让人头疼. 总的来说,总线有三种:内部总线.系统总线和外部总线.内部总线是微机内部各外围芯片与处理器之间的总线,用于芯片一级的互连: ...

  5. bzoj千题计划136:bzoj3931: [CQOI2015]网络吞吐量

    http://www.lydsy.com/JudgeOnline/problem.php?id=3931 在最短路网络上跑最大流 #include<queue> #include<c ...

  6. js截取字符串substr和substring的区别

    定义substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符.substring() 方法用于提取字符串中介于两个指定下标之间的字符. 语法substr()        str ...

  7. CSS3实战之content

    为元素添加内容 content属性术语内容生成和替换模块,该属性能够为指定元素添加内容. 取值如下 normal:默认值 string:文本内容 attr():插入元素的属性值 uri():插入一个外 ...

  8. [转载]ECMA-262 6th Edition / Draft August 24, 2014 Draft ECMAScript Language Specification

    http://people.mozilla.org/~jorendorff/es6-draft.html#sec-23.4 Draft Report Errors and Issues at: htt ...

  9. 解析html和采集网页的神兵利器

    HtmlAgilityPack是一个基于.Net的.第三方免费开源的微型类库,主要用于在服务器端解析html文档(在B/S结构的程序中客户端可以用Javascript解析html).截止到本文发表时, ...

  10. Exp3:MAL_免杀原理与实践

    目录 1.实验环境 2.实践内容 2.1 msfvenom 2.1.1 msfvenom直接生成 2.1.2 msfvenom 编码一次 2.1.3 msfvenom 编码多次 2.2 Veil_ev ...