OpenCV For iOS

cvtColor 函数颜色空间(color space)说明

2017-10-17  本文已影响532人  hehtao
//! converts image from one color space to another
CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst, int code, int dstCn=0 );
转换码 code 解释
CV_BGR2RGB
CV_RGB2BGR
CV_RGBA2BGRA
CV_BGRA2RGBA
在RGB或BGR色彩空间之间转换(包括或者不包括alpha 通道)
CV_RGB2RGBA
CV_BGR2BGRA
在 RGB或BGR图像中加入alpha 通道
CV_RGBA2RGB
CV_BGRA2BGR
从 RGB或BGR图像中删除alpha 通道
CV_RGB2BGRA
CV_RGBA2BGR
CV_BGRA2RGB
CV_BGR2RGBA
加入或者移除alpha通道时,转换RGB到BGR 色彩空间
CV_RGB2GRAY
CV_BGR2GRAY
转换RGB或者BGR色彩空间为灰度空间
CV_GRAY2RGB
CV_GRAY2BGR
CV_RGBA2GRAY
CV_BGRA2GRAY
转换灰度为RGB或者BGR色彩空间(在进程中选择移除alpha通道)
CV_GRAY2RGBA
CV_GRAY2BGRA
转换灰度为RGB或者BGR色彩空间并且加入alpha通道
CV_RGB2BGR565
CV_BGR2BGR565
CV_BGR5652RGB
CV_BGR5652BGR
CV_RGBA2BGR565
CV_BGRA2BGR565
CV_BGR5652RGBA
CV_BGR5652BGRA
在从RGB或者BGR色彩空间转换到BGR565彩色图画时,选择加入或者移除alpha通道 (16位图)
CV_GRAY2BGR565
CV_BGR5652GRAY
转换灰度为BGR565彩色图像或者反变换(16位图)
CV_RGB2BGR555
CV_BGR2BGR555
CV_BGR5552RGB
CV_BGR5552BGR
CV_RGBA2BGR555
CV_BGRA2BGR555
在从RGB或者BGR色彩空间转换到BGR555色彩空间时,选择加入或者移除alpha通道(16位图)
CV_GRAY2BGR555
CV_BGR5552GRAY
转换灰度到BGR555色彩空间或者反变换(16位图)
CV_RGB2XYZ
CV_BGR2XYZ
CV_XYZ2RGB
CV_XYZ2BGR
转换RGB或者BGR色彩空间到CIE XYZ色彩空间或者反变换(Rec 709和D65 白点)
CV_RGB2YCrCb
CV_BGR2YCrCb
CV_YCrCb2RGB
CV_YCrCb2BGR
转换RGB 或者BGR色彩空间到luma-chroma (aka YCC)色彩空间
CV_RGB2HSV
CV_BGR2HSV
CV_HSV2RGB
CV_HSV2BGR
转换RGB或者BGR色彩空间到HSV(hue,saturation,value)色彩空间或反变换
CV_RGB2HLS
CV_BGR2HLS
CV_HLS2RGB
CV_HLS2BGR
转换RGB或者BGR色彩空间到HLS(hue,Lightness,saturation)色彩空间或反变换
CV_RGB2Lab
CV_BGR2Lab
CV_Lab2RGB
CV_Lab2BGR
转换RGB或者BGR色彩空间到CIE LAB色彩空间或反变换
CV_RGB2Luv
CV_BGR2Luv
CV_Luv2RGB
CV_Luv2BGR
转换RGB或者BGR色彩空间到CIE Luv色彩空间
CV_BayerBG2RGB
CV_BayerGB2RGB
转换Bayer模式(单通道)到RGB或者BGR色彩空间
CV_BayerRG2RGB
CV_BayerGR2RGB
CV_BayerBG2BGR
CV_BayerGB2BGR
CV_BayerRG2BGR
CV_BayerGR2BGR
...
...
...
...
...
...
...
...

色彩空间转换都用到以下约定:8位图像范围是0~255,16位图像范围是0~65536,浮点数的范围是0.0~1.0。黑白图像转换为彩色图像时,最终图像的所有通道都是相同的;但是逆变换(例如RGB或BGR到灰度),灰度值的计算使用加权公式:

Y=(0.299)R+(0.587)G+(0.114)B

就HSV色彩模式或者HLS色彩模式来说,色调通常是在0~360之间。 在8位图中,这可能出现问题,因此,转换到HSV色彩模式,并以8位图的形式输出时,色调应该除以2。

上一篇 下一篇

猜你喜欢

热点阅读