OpenCV453
列挙型 | 関数
Imgproc_color_conversions

列挙型

enum  cv::ColorConversionCodes {
  cv::COLOR_BGR2BGRA = 0 , COLOR_RGB2RGBA = COLOR_BGR2BGRA , cv::COLOR_BGRA2BGR = 1 , COLOR_RGBA2RGB = COLOR_BGRA2BGR ,
  cv::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 ,
  cv::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 ,
  cv::COLOR_BGR2BGR565 = 12 , COLOR_RGB2BGR565 = 13 , COLOR_BGR5652BGR = 14 , COLOR_BGR5652RGB = 15 ,
  COLOR_BGRA2BGR565 = 16 , COLOR_RGBA2BGR565 = 17 , COLOR_BGR5652BGRA = 18 , COLOR_BGR5652RGBA = 19 ,
  cv::COLOR_GRAY2BGR565 = 20 , COLOR_BGR5652GRAY = 21 , cv::COLOR_BGR2BGR555 = 22 , COLOR_RGB2BGR555 = 23 ,
  COLOR_BGR5552BGR = 24 , COLOR_BGR5552RGB = 25 , COLOR_BGRA2BGR555 = 26 , COLOR_RGBA2BGR555 = 27 ,
  COLOR_BGR5552BGRA = 28 , COLOR_BGR5552RGBA = 29 , cv::COLOR_GRAY2BGR555 = 30 , COLOR_BGR5552GRAY = 31 ,
  cv::COLOR_BGR2XYZ = 32 , COLOR_RGB2XYZ = 33 , COLOR_XYZ2BGR = 34 , COLOR_XYZ2RGB = 35 ,
  cv::COLOR_BGR2YCrCb = 36 , COLOR_RGB2YCrCb = 37 , COLOR_YCrCb2BGR = 38 , COLOR_YCrCb2RGB = 39 ,
  cv::COLOR_BGR2HSV = 40 , COLOR_RGB2HSV = 41 , cv::COLOR_BGR2Lab = 44 , COLOR_RGB2Lab = 45 ,
  cv::COLOR_BGR2Luv = 50 , COLOR_RGB2Luv = 51 , cv::COLOR_BGR2HLS = 52 , COLOR_RGB2HLS = 53 ,
  cv::COLOR_HSV2BGR = 54 , COLOR_HSV2RGB = 55 , COLOR_Lab2BGR = 56 , COLOR_Lab2RGB = 57 ,
  COLOR_Luv2BGR = 58 , COLOR_Luv2RGB = 59 , cv::COLOR_HLS2BGR = 60 , COLOR_HLS2RGB = 61 ,
  cv::COLOR_BGR2HSV_FULL = 66 , COLOR_RGB2HSV_FULL = 67 , cv::COLOR_BGR2HLS_FULL = 68 , COLOR_RGB2HLS_FULL = 69 ,
  cv::COLOR_HSV2BGR_FULL = 70 , COLOR_HSV2RGB_FULL = 71 , cv::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 ,
  cv::COLOR_BGR2YUV = 82 , COLOR_RGB2YUV = 83 , COLOR_YUV2BGR = 84 , COLOR_YUV2RGB = 85 ,
  cv::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 ,
  cv::COLOR_YUV2RGB_UYVY = 107 , COLOR_YUV2BGR_UYVY = 108 , 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_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_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 , cv::COLOR_RGBA2mRGBA = 125 ,
  COLOR_mRGBA2RGBA = 126 , cv::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 , cv::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_BayerBG2GRAY = 86 , COLOR_BayerGB2GRAY = 87 , COLOR_BayerRG2GRAY = 88 ,
  COLOR_BayerGR2GRAY = 89 , cv::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 , cv::COLOR_BayerBG2BGR_EA = 135 , COLOR_BayerGB2BGR_EA = 136 , COLOR_BayerRG2BGR_EA = 137 ,
  COLOR_BayerGR2BGR_EA = 138 , COLOR_BayerBG2RGB_EA = COLOR_BayerRG2BGR_EA , COLOR_BayerGB2RGB_EA = COLOR_BayerGR2BGR_EA , COLOR_BayerRG2RGB_EA = COLOR_BayerBG2BGR_EA ,
  COLOR_BayerGR2RGB_EA = COLOR_BayerGB2BGR_EA , cv::COLOR_BayerBG2BGRA = 139 , COLOR_BayerGB2BGRA = 140 , COLOR_BayerRG2BGRA = 141 ,
  COLOR_BayerGR2BGRA = 142 , COLOR_BayerBG2RGBA = COLOR_BayerRG2BGRA , COLOR_BayerGB2RGBA = COLOR_BayerGR2BGRA , COLOR_BayerRG2RGBA = COLOR_BayerBG2BGRA ,
  COLOR_BayerGR2RGBA = COLOR_BayerGB2BGRA , COLOR_COLORCVT_MAX = 143
}
 

関数

CV_EXPORTS_W void cv::cvtColor (InputArray src, OutputArray dst, int code, int dstCn=0)
 Converts an image from one color space to another. [詳解]
 
CV_EXPORTS_W void cv::cvtColorTwoPlane (InputArray src1, InputArray src2, OutputArray dst, int code)
 Converts an image from one color space to another where the source image is stored in two planes. [詳解]
 
CV_EXPORTS_W void cv::demosaicing (InputArray src, OutputArray dst, int code, int dstCn=0)
 main function for all demosaicing processes [詳解]
 

詳解

列挙型詳解

◆ ColorConversionCodes

the color conversion codes

参照
Imgproc_color_conversions
列挙値
COLOR_BGR2BGRA 

add alpha channel to RGB or BGR image

COLOR_BGRA2BGR 

remove alpha channel from RGB or BGR image

COLOR_BGR2RGBA 

convert between RGB and BGR color spaces (with or without alpha channel)

COLOR_BGR2GRAY 

convert between RGB/BGR and grayscale, color conversions

COLOR_BGR2BGR565 

convert between RGB/BGR and BGR565 (16-bit images)

COLOR_GRAY2BGR565 

convert between grayscale to BGR565 (16-bit images)

COLOR_BGR2BGR555 

convert between RGB/BGR and BGR555 (16-bit images)

COLOR_GRAY2BGR555 

convert between grayscale and BGR555 (16-bit images)

COLOR_BGR2XYZ 

convert RGB/BGR to CIE XYZ, color conversions

COLOR_BGR2YCrCb 

convert RGB/BGR to luma-chroma (aka YCC), color conversions

COLOR_BGR2HSV 

convert RGB/BGR to HSV (hue saturation value) with H range 0..180 if 8 bit image, color conversions

COLOR_BGR2Lab 

convert RGB/BGR to CIE Lab, color conversions

COLOR_BGR2Luv 

convert RGB/BGR to CIE Luv, color conversions

COLOR_BGR2HLS 

convert RGB/BGR to HLS (hue lightness saturation) with H range 0..180 if 8 bit image, color conversions

COLOR_HSV2BGR 

backward conversions HSV to RGB/BGR with H range 0..180 if 8 bit image

COLOR_HLS2BGR 

backward conversions HLS to RGB/BGR with H range 0..180 if 8 bit image

COLOR_BGR2HSV_FULL 

convert RGB/BGR to HSV (hue saturation value) with H range 0..255 if 8 bit image, color conversions

COLOR_BGR2HLS_FULL 

convert RGB/BGR to HLS (hue lightness saturation) with H range 0..255 if 8 bit image, color conversions

COLOR_HSV2BGR_FULL 

backward conversions HSV to RGB/BGR with H range 0..255 if 8 bit image

COLOR_HLS2BGR_FULL 

backward conversions HLS to RGB/BGR with H range 0..255 if 8 bit image

COLOR_BGR2YUV 

convert between RGB/BGR and YUV

COLOR_YUV2RGB_NV12 

YUV 4:2:0 family to RGB

COLOR_YUV2RGB_UYVY 

YUV 4:2:2 family to RGB

COLOR_RGBA2mRGBA 

alpha premultiplication

COLOR_RGB2YUV_I420 

RGB to YUV 4:2:0 family

COLOR_BayerBG2BGR 

Demosaicing

COLOR_BayerBG2BGR_VNG 

Demosaicing using Variable Number of Gradients

COLOR_BayerBG2BGR_EA 

Edge-Aware Demosaicing

COLOR_BayerBG2BGRA 

Demosaicing with alpha channel

関数詳解

◆ cvtColor()

CV_EXPORTS_W void cv::cvtColor ( InputArray  src,
OutputArray  dst,
int  code,
int  dstCn = 0 
)

Converts an image from one color space to another.

The function converts an input image from one color space to another. In case of a transformation to-from RGB color space, the order of the channels should be specified explicitly (RGB or BGR). Note that the default color format in OpenCV is often referred to as RGB but it is actually BGR (the bytes are reversed). So the first byte in a standard (24-bit) color image will be an 8-bit Blue component, the second byte will be Green, and the third byte will be Red. The fourth, fifth, and sixth bytes would then be the second pixel (Blue, then Green, then Red), and so on.

The conventional ranges for R, G, and B channel values are:

  • 0 to 255 for CV_8U images
  • 0 to 65535 for CV_16U images
  • 0 to 1 for CV_32F images

In case of linear transformations, the range does not matter. But in case of a non-linear transformation, an input RGB image should be normalized to the proper value range to get the correct results, for example, for RGB $\rightarrow$ L*u*v* transformation. For example, if you have a 32-bit floating-point image directly converted from an 8-bit image without any scaling, then it will have the 0..255 value range instead of 0..1 assumed by the function. So, before calling cvtColor , you need first to scale the image down:

img *= 1./255;
CV_EXPORTS_W void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0)
Converts an image from one color space to another.
@ COLOR_BGR2Luv
convert RGB/BGR to CIE Luv, color conversions
Definition: imgproc.hpp:600

If you use cvtColor with 8-bit images, the conversion will have some information lost. For many applications, this will not be noticeable but it is recommended to use 32-bit images in applications that need the full range of colors or that convert an image before an operation and then convert back.

If conversion adds the alpha channel, its value will set to the maximum of corresponding channel range: 255 for CV_8U, 65535 for CV_16U, 1 for CV_32F.

引数
srcinput image: 8-bit unsigned, 16-bit unsigned ( CV_16UC... ), or single-precision floating-point.
dstoutput image of the same size and depth as src.
codecolor space conversion code (see ColorConversionCodes).
dstCnnumber of channels in the destination image; if the parameter is 0, the number of the channels is derived automatically from src and code.
参照
Imgproc_color_conversions

◆ cvtColorTwoPlane()

CV_EXPORTS_W void cv::cvtColorTwoPlane ( InputArray  src1,
InputArray  src2,
OutputArray  dst,
int  code 
)

Converts an image from one color space to another where the source image is stored in two planes.

This function only supports YUV420 to RGB conversion as of now.

引数
src18-bit image (#CV_8U) of the Y plane.
src2image containing interleaved U/V plane.
dstoutput image.
codeSpecifies the type of conversion. It can take any of the following values:
  • #COLOR_YUV2BGR_NV12
  • COLOR_YUV2RGB_NV12
  • #COLOR_YUV2BGRA_NV12
  • #COLOR_YUV2RGBA_NV12
  • #COLOR_YUV2BGR_NV21
  • #COLOR_YUV2RGB_NV21
  • #COLOR_YUV2BGRA_NV21
  • #COLOR_YUV2RGBA_NV21

◆ demosaicing()

CV_EXPORTS_W void cv::demosaicing ( InputArray  src,
OutputArray  dst,
int  code,
int  dstCn = 0 
)

main function for all demosaicing processes

引数
srcinput image: 8-bit unsigned or 16-bit unsigned.
dstoutput image of the same size and depth as src.
codeColor space conversion code (see the description below).
dstCnnumber of channels in the destination image; if the parameter is 0, the number of the channels is derived automatically from src and code.

The function can do the following transformations:

  • Demosaicing using bilinear interpolation

    COLOR_BayerBG2BGR , #COLOR_BayerGB2BGR , #COLOR_BayerRG2BGR , #COLOR_BayerGR2BGR

    #COLOR_BayerBG2GRAY , #COLOR_BayerGB2GRAY , #COLOR_BayerRG2GRAY , #COLOR_BayerGR2GRAY

  • Demosaicing using Variable Number of Gradients.

    COLOR_BayerBG2BGR_VNG , #COLOR_BayerGB2BGR_VNG , #COLOR_BayerRG2BGR_VNG , #COLOR_BayerGR2BGR_VNG

  • Edge-Aware Demosaicing.

    COLOR_BayerBG2BGR_EA , #COLOR_BayerGB2BGR_EA , #COLOR_BayerRG2BGR_EA , #COLOR_BayerGR2BGR_EA

  • Demosaicing with alpha channel

    COLOR_BayerBG2BGRA , #COLOR_BayerGB2BGRA , #COLOR_BayerRG2BGRA , #COLOR_BayerGR2BGRA

参照
cvtColor