您的位置:首页 > 运维架构

OpenCV 颜色空间转换参数CV_BGR2GRAY改变

2016-07-18 14:52 405 查看
OpenCV的颜色空间转换函数:

C++:
void
cvtColor
(InputArraysrc,OutputArraydst,intcode,intdstCn=0)

参数dstCn原来一直沿用CV_BGR2GRAY,CV_RGB2GRAY,CV_GRAY2BGR,CV_GRAY2RGB等格式,但最新几个版本的OpenCV已改为COLOR_BGR2GRAY类似形式,今天才看源代码imgproc.hpp才发现,但官方文档还没修改,如下图,如果程序中使用较新的版本OpenCV,采用CV_BGR2GRAY可能会一直出错。



新的OpenCV中imgproc.hpp的定义如下:

enum
{
COLOR_BGR2BGRA=0,
COLOR_RGB2RGBA=COLOR_BGR2BGRA,

COLOR_BGRA2BGR=1,
COLOR_RGBA2RGB=COLOR_BGRA2BGR,

COLOR_BGR2RGBA=2,
COLOR_RGB2BGRA=COLOR_BGR2RGBA,

COLOR_RGBA2BGR=3,
COLOR_BGRA2RGB=COLOR_RGBA2BGR,

COLOR_BGR2RGB=4,
COLOR_RGB2BGR=COLOR_BGR2RGB,

COLOR_BGRA2RGBA=5,
COLOR_RGBA2BGRA=COLOR_BGRA2RGBA,

COLOR_BGR2GRAY=6,
COLOR_RGB2GRAY=7,
COLOR_GRAY2BGR=8,
COLOR_GRAY2RGB=COLOR_GRAY2BGR,
COLOR_GRAY2BGRA=9,
COLOR_GRAY2RGBA=COLOR_GRAY2BGRA,
COLOR_BGRA2GRAY=10,
COLOR_RGBA2GRAY=11,

COLOR_BGR2BGR565=12,
COLOR_RGB2BGR565=13,
COLOR_BGR5652BGR=14,
COLOR_BGR5652RGB=15,
COLOR_BGRA2BGR565=16,
COLOR_RGBA2BGR565=17,
COLOR_BGR5652BGRA=18,
COLOR_BGR5652RGBA=19,

COLOR_GRAY2BGR565=20,
COLOR_BGR5652GRAY=21,

COLOR_BGR2BGR555=22,
COLOR_RGB2BGR555=23,
COLOR_BGR5552BGR=24,
COLOR_BGR5552RGB=25,
COLOR_BGRA2BGR555=26,
COLOR_RGBA2BGR555=27,
COLOR_BGR5552BGRA=28,
COLOR_BGR5552RGBA=29,

COLOR_GRAY2BGR555=30,
COLOR_BGR5552GRAY=31,

COLOR_BGR2XYZ=32,
COLOR_RGB2XYZ=33,
COLOR_XYZ2BGR=34,
COLOR_XYZ2RGB=35,

COLOR_BGR2YCrCb=36,
COLOR_RGB2YCrCb=37,
COLOR_YCrCb2BGR=38,
COLOR_YCrCb2RGB=39,

COLOR_BGR2HSV=40,
COLOR_RGB2HSV=41,

COLOR_BGR2Lab=44,
COLOR_RGB2Lab=45,

COLOR_BayerBG2BGR=46,
COLOR_BayerGB2BGR=47,
COLOR_BayerRG2BGR=48,
COLOR_BayerGR2BGR=49,

COLOR_BayerBG2RGB=COLOR_BayerRG2BGR,
COLOR_BayerGB2RGB=COLOR_BayerGR2BGR,
COLOR_BayerRG2RGB=COLOR_BayerBG2BGR,
COLOR_BayerGR2RGB=COLOR_BayerGB2BGR,

COLOR_BGR2Luv=50,
COLOR_RGB2Luv=51,
COLOR_BGR2HLS=52,
COLOR_RGB2HLS=53,

COLOR_HSV2BGR=54,
COLOR_HSV2RGB=55,

COLOR_Lab2BGR=56,
COLOR_Lab2RGB=57,
COLOR_Luv2BGR=58,
COLOR_Luv2RGB=59,
COLOR_HLS2BGR=60,
COLOR_HLS2RGB=61,

COLOR_BayerBG2BGR_VNG=62,
COLOR_BayerGB2BGR_VNG=63,
COLOR_BayerRG2BGR_VNG=64,
COLOR_BayerGR2BGR_VNG=65,

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=66,
COLOR_RGB2HSV_FULL=67,
COLOR_BGR2HLS_FULL=68,
COLOR_RGB2HLS_FULL=69,

COLOR_HSV2BGR_FULL=70,
COLOR_HSV2RGB_FULL=71,
COLOR_HLS2BGR_FULL=72,
COLOR_HLS2RGB_FULL=73,

COLOR_LBGR2Lab=74,
COLOR_LRGB2Lab=75,
COLOR_LBGR2Luv=76,
COLOR_LRGB2Luv=77,

COLOR_Lab2LBGR=78,
COLOR_Lab2LRGB=79,
COLOR_Luv2LBGR=80,
COLOR_Luv2LRGB=81,

COLOR_BGR2YUV=82,
COLOR_RGB2YUV=83,
COLOR_YUV2BGR=84,
COLOR_YUV2RGB=85,

COLOR_BayerBG2GRAY=86,
COLOR_BayerGB2GRAY=87,
COLOR_BayerRG2GRAY=88,
COLOR_BayerGR2GRAY=89,

//YUV4:2:0formatsfamily
COLOR_YUV2RGB_NV12=90,
COLOR_YUV2BGR_NV12=91,
COLOR_YUV2RGB_NV21=92,
COLOR_YUV2BGR_NV21=93,
COLOR_YUV420sp2RGB=COLOR_YUV2RGB_NV21,
COLOR_YUV420sp2BGR=COLOR_YUV2BGR_NV21,

COLOR_YUV2RGBA_NV12=94,
COLOR_YUV2BGRA_NV12=95,
COLOR_YUV2RGBA_NV21=96,
COLOR_YUV2BGRA_NV21=97,
COLOR_YUV420sp2RGBA=COLOR_YUV2RGBA_NV21,
COLOR_YUV420sp2BGRA=COLOR_YUV2BGRA_NV21,

COLOR_YUV2RGB_YV12=98,
COLOR_YUV2BGR_YV12=99,
COLOR_YUV2RGB_IYUV=100,
COLOR_YUV2BGR_IYUV=101,
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=102,
COLOR_YUV2BGRA_YV12=103,
COLOR_YUV2RGBA_IYUV=104,
COLOR_YUV2BGRA_IYUV=105,
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=106,
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,

//YUV4:2:2formatsfamily
COLOR_YUV2RGB_UYVY=107,
COLOR_YUV2BGR_UYVY=108,
//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=111,
COLOR_YUV2BGRA_UYVY=112,
//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=115,
COLOR_YUV2BGR_YUY2=116,
COLOR_YUV2RGB_YVYU=117,
COLOR_YUV2BGR_YVYU=118,
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=119,
COLOR_YUV2BGRA_YUY2=120,
COLOR_YUV2RGBA_YVYU=121,
COLOR_YUV2BGRA_YVYU=122,
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=123,
COLOR_YUV2GRAY_YUY2=124,
//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,

//alphapremultiplication
COLOR_RGBA2mRGBA=125,
COLOR_mRGBA2RGBA=126,

COLOR_RGB2YUV_I420=127,
COLOR_BGR2YUV_I420=128,
COLOR_RGB2YUV_IYUV=COLOR_RGB2YUV_I420,
COLOR_BGR2YUV_IYUV=COLOR_BGR2YUV_I420,

COLOR_RGBA2YUV_I420=129,
COLOR_BGRA2YUV_I420=130,
COLOR_RGBA2YUV_IYUV=COLOR_RGBA2YUV_I420,
COLOR_BGRA2YUV_IYUV=COLOR_BGRA2YUV_I420,
COLOR_RGB2YUV_YV12=131,
COLOR_BGR2YUV_YV12=132,
COLOR_RGBA2YUV_YV12=133,
COLOR_BGRA2YUV_YV12=134,

COLOR_COLORCVT_MAX=135
};


当你心中只有一个目标时,全世界都会给你让路!Readmore!Writemore!Practisemore!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息