Functions | |
void | cv::cvtColor (InputArray src, OutputArray dst, int code, int dstCn=0) |
Converts an image from one color space to another. | |
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. | |
void | cv::demosaicing (InputArray src, OutputArray dst, int code, int dstCn=0) |
main function for all demosaicing processes | |
Detailed Description
Enumeration Type Documentation
◆ ColorConversionCodes
#include <opencv2/imgproc.hpp>
the color conversion codes
- See also
- Color conversions
Enumerator | |
---|---|
COLOR_BGR2BGRA | add alpha channel to RGB or BGR image |
COLOR_RGB2RGBA | |
COLOR_BGRA2BGR | remove alpha channel from RGB or BGR image |
COLOR_RGBA2RGB | |
COLOR_BGR2RGBA | convert between RGB and BGR color spaces (with or without alpha channel) |
COLOR_RGB2BGRA | |
COLOR_RGBA2BGR | |
COLOR_BGRA2RGB | |
COLOR_BGR2RGB | |
COLOR_RGB2BGR | |
COLOR_BGRA2RGBA | |
COLOR_RGBA2BGRA | |
COLOR_BGR2GRAY | convert between RGB/BGR and grayscale, color conversions |
COLOR_RGB2GRAY | |
COLOR_GRAY2BGR | |
COLOR_GRAY2RGB | |
COLOR_GRAY2BGRA | |
COLOR_GRAY2RGBA | |
COLOR_BGRA2GRAY | |
COLOR_RGBA2GRAY | |
COLOR_BGR2BGR565 | convert between RGB/BGR and BGR565 (16-bit images) |
COLOR_RGB2BGR565 | |
COLOR_BGR5652BGR | |
COLOR_BGR5652RGB | |
COLOR_BGRA2BGR565 | |
COLOR_RGBA2BGR565 | |
COLOR_BGR5652BGRA | |
COLOR_BGR5652RGBA | |
COLOR_GRAY2BGR565 | convert between grayscale to BGR565 (16-bit images) |
COLOR_BGR5652GRAY | |
COLOR_BGR2BGR555 | convert between RGB/BGR and BGR555 (16-bit images) |
COLOR_RGB2BGR555 | |
COLOR_BGR5552BGR | |
COLOR_BGR5552RGB | |
COLOR_BGRA2BGR555 | |
COLOR_RGBA2BGR555 | |
COLOR_BGR5552BGRA | |
COLOR_BGR5552RGBA | |
COLOR_GRAY2BGR555 | convert between grayscale and BGR555 (16-bit images) |
COLOR_BGR5552GRAY | |
COLOR_BGR2XYZ | convert RGB/BGR to CIE XYZ, color conversions |
COLOR_RGB2XYZ | |
COLOR_XYZ2BGR | |
COLOR_XYZ2RGB | |
COLOR_BGR2YCrCb | convert RGB/BGR to luma-chroma (aka YCC), color conversions |
COLOR_RGB2YCrCb | |
COLOR_YCrCb2BGR | |
COLOR_YCrCb2RGB | |
COLOR_BGR2HSV | convert RGB/BGR to HSV (hue saturation value) with H range 0..180 if 8 bit image, color conversions |
COLOR_RGB2HSV | |
COLOR_BGR2Lab | convert RGB/BGR to CIE Lab, color conversions |
COLOR_RGB2Lab | |
COLOR_BGR2Luv | convert RGB/BGR to CIE Luv, color conversions |
COLOR_RGB2Luv | |
COLOR_BGR2HLS | convert RGB/BGR to HLS (hue lightness saturation) with H range 0..180 if 8 bit image, color conversions |
COLOR_RGB2HLS | |
COLOR_HSV2BGR | backward conversions HSV to RGB/BGR with H range 0..180 if 8 bit image |
COLOR_HSV2RGB | |
COLOR_Lab2BGR | |
COLOR_Lab2RGB | |
COLOR_Luv2BGR | |
COLOR_Luv2RGB | |
COLOR_HLS2BGR | backward conversions HLS to RGB/BGR with H range 0..180 if 8 bit image |
COLOR_HLS2RGB | |
COLOR_BGR2HSV_FULL | convert RGB/BGR to HSV (hue saturation value) with H range 0..255 if 8 bit image, color conversions |
COLOR_RGB2HSV_FULL | |
COLOR_BGR2HLS_FULL | convert RGB/BGR to HLS (hue lightness saturation) with H range 0..255 if 8 bit image, color conversions |
COLOR_RGB2HLS_FULL | |
COLOR_HSV2BGR_FULL | backward conversions HSV to RGB/BGR with H range 0..255 if 8 bit image |
COLOR_HSV2RGB_FULL | |
COLOR_HLS2BGR_FULL | backward conversions HLS to RGB/BGR with H range 0..255 if 8 bit image |
COLOR_HLS2RGB_FULL | |
COLOR_LBGR2Lab | |
COLOR_LRGB2Lab | |
COLOR_LBGR2Luv | |
COLOR_LRGB2Luv | |
COLOR_Lab2LBGR | |
COLOR_Lab2LRGB | |
COLOR_Luv2LBGR | |
COLOR_Luv2LRGB | |
COLOR_BGR2YUV | convert between RGB/BGR and YUV |
COLOR_RGB2YUV | |
COLOR_YUV2BGR | |
COLOR_YUV2RGB | |
COLOR_YUV2RGB_NV12 | YUV 4:2:0 family to RGB. |
COLOR_YUV2BGR_NV12 | |
COLOR_YUV2RGB_NV21 | |
COLOR_YUV2BGR_NV21 | |
COLOR_YUV420sp2RGB | |
COLOR_YUV420sp2BGR | |
COLOR_YUV2RGBA_NV12 | |
COLOR_YUV2BGRA_NV12 | |
COLOR_YUV2RGBA_NV21 | |
COLOR_YUV2BGRA_NV21 | |
COLOR_YUV420sp2RGBA | |
COLOR_YUV420sp2BGRA | |
COLOR_YUV2RGB_YV12 | |
COLOR_YUV2BGR_YV12 | |
COLOR_YUV2RGB_IYUV | |
COLOR_YUV2BGR_IYUV | |
COLOR_YUV2RGB_I420 | |
COLOR_YUV2BGR_I420 | |
COLOR_YUV420p2RGB | |
COLOR_YUV420p2BGR | |
COLOR_YUV2RGBA_YV12 | |
COLOR_YUV2BGRA_YV12 | |
COLOR_YUV2RGBA_IYUV | |
COLOR_YUV2BGRA_IYUV | |
COLOR_YUV2RGBA_I420 | |
COLOR_YUV2BGRA_I420 | |
COLOR_YUV420p2RGBA | |
COLOR_YUV420p2BGRA | |
COLOR_YUV2GRAY_420 | |
COLOR_YUV2GRAY_NV21 | |
COLOR_YUV2GRAY_NV12 | |
COLOR_YUV2GRAY_YV12 | |
COLOR_YUV2GRAY_IYUV | |
COLOR_YUV2GRAY_I420 | |
COLOR_YUV420sp2GRAY | |
COLOR_YUV420p2GRAY | |
COLOR_YUV2RGB_UYVY | YUV 4:2:2 family to RGB. |
COLOR_YUV2BGR_UYVY | |
COLOR_YUV2RGB_Y422 | |
COLOR_YUV2BGR_Y422 | |
COLOR_YUV2RGB_UYNV | |
COLOR_YUV2BGR_UYNV | |
COLOR_YUV2RGBA_UYVY | |
COLOR_YUV2BGRA_UYVY | |
COLOR_YUV2RGBA_Y422 | |
COLOR_YUV2BGRA_Y422 | |
COLOR_YUV2RGBA_UYNV | |
COLOR_YUV2BGRA_UYNV | |
COLOR_YUV2RGB_YUY2 | |
COLOR_YUV2BGR_YUY2 | |
COLOR_YUV2RGB_YVYU | |
COLOR_YUV2BGR_YVYU | |
COLOR_YUV2RGB_YUYV | |
COLOR_YUV2BGR_YUYV | |
COLOR_YUV2RGB_YUNV | |
COLOR_YUV2BGR_YUNV | |
COLOR_YUV2RGBA_YUY2 | |
COLOR_YUV2BGRA_YUY2 | |
COLOR_YUV2RGBA_YVYU | |
COLOR_YUV2BGRA_YVYU | |
COLOR_YUV2RGBA_YUYV | |
COLOR_YUV2BGRA_YUYV | |
COLOR_YUV2RGBA_YUNV | |
COLOR_YUV2BGRA_YUNV | |
COLOR_YUV2GRAY_UYVY | |
COLOR_YUV2GRAY_YUY2 | |
COLOR_YUV2GRAY_Y422 | |
COLOR_YUV2GRAY_UYNV | |
COLOR_YUV2GRAY_YVYU | |
COLOR_YUV2GRAY_YUYV | |
COLOR_YUV2GRAY_YUNV | |
COLOR_RGBA2mRGBA | alpha premultiplication |
COLOR_mRGBA2RGBA | |
COLOR_RGB2YUV_I420 | RGB to YUV 4:2:0 family. |
COLOR_BGR2YUV_I420 | |
COLOR_RGB2YUV_IYUV | |
COLOR_BGR2YUV_IYUV | |
COLOR_RGBA2YUV_I420 | |
COLOR_BGRA2YUV_I420 | |
COLOR_RGBA2YUV_IYUV | |
COLOR_BGRA2YUV_IYUV | |
COLOR_RGB2YUV_YV12 | |
COLOR_BGR2YUV_YV12 | |
COLOR_RGBA2YUV_YV12 | |
COLOR_BGRA2YUV_YV12 | |
COLOR_BayerBG2BGR | Demosaicing, see color conversions for additional information. equivalent to RGGB Bayer pattern |
COLOR_BayerGB2BGR | equivalent to GRBG Bayer pattern |
COLOR_BayerRG2BGR | equivalent to BGGR Bayer pattern |
COLOR_BayerGR2BGR | equivalent to GBRG Bayer pattern |
COLOR_BayerRGGB2BGR | |
COLOR_BayerGRBG2BGR | |
COLOR_BayerBGGR2BGR | |
COLOR_BayerGBRG2BGR | |
COLOR_BayerRGGB2RGB | |
COLOR_BayerGRBG2RGB | |
COLOR_BayerBGGR2RGB | |
COLOR_BayerGBRG2RGB | |
COLOR_BayerBG2RGB | equivalent to RGGB Bayer pattern |
COLOR_BayerGB2RGB | equivalent to GRBG Bayer pattern |
COLOR_BayerRG2RGB | equivalent to BGGR Bayer pattern |
COLOR_BayerGR2RGB | equivalent to GBRG Bayer pattern |
COLOR_BayerBG2GRAY | equivalent to RGGB Bayer pattern |
COLOR_BayerGB2GRAY | equivalent to GRBG Bayer pattern |
COLOR_BayerRG2GRAY | equivalent to BGGR Bayer pattern |
COLOR_BayerGR2GRAY | equivalent to GBRG Bayer pattern |
COLOR_BayerRGGB2GRAY | |
COLOR_BayerGRBG2GRAY | |
COLOR_BayerBGGR2GRAY | |
COLOR_BayerGBRG2GRAY | |
COLOR_BayerBG2BGR_VNG | Demosaicing using Variable Number of Gradients. equivalent to RGGB Bayer pattern |
COLOR_BayerGB2BGR_VNG | equivalent to GRBG Bayer pattern |
COLOR_BayerRG2BGR_VNG | equivalent to BGGR Bayer pattern |
COLOR_BayerGR2BGR_VNG | equivalent to GBRG Bayer pattern |
COLOR_BayerRGGB2BGR_VNG | |
COLOR_BayerGRBG2BGR_VNG | |
COLOR_BayerBGGR2BGR_VNG | |
COLOR_BayerGBRG2BGR_VNG | |
COLOR_BayerRGGB2RGB_VNG | |
COLOR_BayerGRBG2RGB_VNG | |
COLOR_BayerBGGR2RGB_VNG | |
COLOR_BayerGBRG2RGB_VNG | |
COLOR_BayerBG2RGB_VNG | equivalent to RGGB Bayer pattern |
COLOR_BayerGB2RGB_VNG | equivalent to GRBG Bayer pattern |
COLOR_BayerRG2RGB_VNG | equivalent to BGGR Bayer pattern |
COLOR_BayerGR2RGB_VNG | equivalent to GBRG Bayer pattern |
COLOR_BayerBG2BGR_EA | Edge-Aware Demosaicing. equivalent to RGGB Bayer pattern |
COLOR_BayerGB2BGR_EA | equivalent to GRBG Bayer pattern |
COLOR_BayerRG2BGR_EA | equivalent to BGGR Bayer pattern |
COLOR_BayerGR2BGR_EA | equivalent to GBRG Bayer pattern |
COLOR_BayerRGGB2BGR_EA | |
COLOR_BayerGRBG2BGR_EA | |
COLOR_BayerBGGR2BGR_EA | |
COLOR_BayerGBRG2BGR_EA | |
COLOR_BayerRGGB2RGB_EA | |
COLOR_BayerGRBG2RGB_EA | |
COLOR_BayerBGGR2RGB_EA | |
COLOR_BayerGBRG2RGB_EA | |
COLOR_BayerBG2RGB_EA | equivalent to RGGB Bayer pattern |
COLOR_BayerGB2RGB_EA | equivalent to GRBG Bayer pattern |
COLOR_BayerRG2RGB_EA | equivalent to BGGR Bayer pattern |
COLOR_BayerGR2RGB_EA | equivalent to GBRG Bayer pattern |
COLOR_BayerBG2BGRA | Demosaicing with alpha channel. equivalent to RGGB Bayer pattern |
COLOR_BayerGB2BGRA | equivalent to GRBG Bayer pattern |
COLOR_BayerRG2BGRA | equivalent to BGGR Bayer pattern |
COLOR_BayerGR2BGRA | equivalent to GBRG Bayer pattern |
COLOR_BayerRGGB2BGRA | |
COLOR_BayerGRBG2BGRA | |
COLOR_BayerBGGR2BGRA | |
COLOR_BayerGBRG2BGRA | |
COLOR_BayerRGGB2RGBA | |
COLOR_BayerGRBG2RGBA | |
COLOR_BayerBGGR2RGBA | |
COLOR_BayerGBRG2RGBA | |
COLOR_BayerBG2RGBA | equivalent to RGGB Bayer pattern |
COLOR_BayerGB2RGBA | equivalent to GRBG Bayer pattern |
COLOR_BayerRG2RGBA | equivalent to BGGR Bayer pattern |
COLOR_BayerGR2RGBA | equivalent to GBRG Bayer pattern |
COLOR_COLORCVT_MAX |
Function Documentation
◆ cvtColor()
void cv::cvtColor | ( | InputArray | src, |
OutputArray | dst, | ||
int | code, | ||
int | dstCn = 0 |
||
) |
#include <opencv2/imgproc.hpp>
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:
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.
- Parameters
-
src input image: 8-bit unsigned, 16-bit unsigned ( CV_16UC... ), or single-precision floating-point. dst output image of the same size and depth as src. code color space conversion code (see ColorConversionCodes). dstCn number of channels in the destination image; if the parameter is 0, the number of the channels is derived automatically from src and code.
- See also
- Color conversions
◆ cvtColorTwoPlane()
void cv::cvtColorTwoPlane | ( | InputArray | src1, |
InputArray | src2, | ||
OutputArray | dst, | ||
int | code | ||
) |
#include <opencv2/imgproc.hpp>
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.
- Parameters
-
src1 8-bit image (CV_8U) of the Y plane. src2 image containing interleaved U/V plane. dst output image. code Specifies the type of conversion. It can take any of the following values:
◆ demosaicing()
void cv::demosaicing | ( | InputArray | src, |
OutputArray | dst, | ||
int | code, | ||
int | dstCn = 0 |
||
) |
#include <opencv2/imgproc.hpp>
main function for all demosaicing processes
- Parameters
-
src input image: 8-bit unsigned or 16-bit unsigned. dst output image of the same size and depth as src. code Color space conversion code (see the description below). dstCn number 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
- See also
- cvtColor