Color space processing
Overview
// enums enum cv::cuda::AlphaCompTypes; enum cv::cuda::DemosaicTypes; // global functions void cv::cuda::alphaComp( InputArray img1, InputArray img2, OutputArray dst, int alpha_op, Stream& stream = Stream::Null() ); void cv::cuda::cvtColor( InputArray src, OutputArray dst, int code, int dcn = 0, Stream& stream = Stream::Null() ); void cv::cuda::demosaicing( InputArray src, OutputArray dst, int code, int dcn = -1, Stream& stream = Stream::Null() ); void cv::cuda::gammaCorrection( InputArray src, OutputArray dst, bool forward = true, Stream& stream = Stream::Null() ); void cv::cuda::swapChannels( InputOutputArray image, const int dstOrder [4], Stream& stream = Stream::Null() );
Detailed Documentation
Global Functions
void cv::cuda::alphaComp( InputArray img1, InputArray img2, OutputArray dst, int alpha_op, Stream& stream = Stream::Null() )
Composites two images using alpha opacity values contained in each image.
- An example demonstrating the use of alphaComp can be found at opencv_source_code/samples/gpu/alpha_comp.cpp
Parameters:
img1 | First image. Supports CV_8UC4 , CV_16UC4 , CV_32SC4 and CV_32FC4 types. |
img2 | Second image. Must have the same size and the same type as img1 . |
dst | Destination image. |
alpha_op | Flag specifying the alpha-blending operation:
|
stream | Stream for the asynchronous version. |
void cv::cuda::cvtColor( InputArray src, OutputArray dst, int code, int dcn = 0, Stream& stream = Stream::Null() )
Converts an image from one color space to another.
3-channel color spaces (like HSV, XYZ, and so on) can be stored in a 4-channel image for better performance.
Parameters:
src | Source image with CV_8U , CV_16U , or CV_32F depth and 1, 3, or 4 channels. |
dst | Destination image. |
code | Color space conversion code. For details, see cvtColor . |
dcn | Number of channels in the destination image. If the parameter is 0, the number of the channels is derived automatically from src and the code . |
stream | Stream for the asynchronous version. |
See also:
void cv::cuda::demosaicing( InputArray src, OutputArray dst, int code, int dcn = -1, Stream& stream = Stream::Null() )
Converts an image from Bayer pattern to RGB or grayscale.
The function can do the following transformations:
Demosaicing using bilinear interpolation
> - COLOR_BayerBG2GRAY , COLOR_BayerGB2GRAY , COLOR_BayerRG2GRAY , COLOR_BayerGR2GRAY > - COLOR_BayerBG2BGR , COLOR_BayerGB2BGR , COLOR_BayerRG2BGR , COLOR_BayerGR2BGR
Demosaicing using Malvar-He-Cutler algorithm ([32])
> - COLOR_BayerBG2GRAY_MHT , COLOR_BayerGB2GRAY_MHT , COLOR_BayerRG2GRAY_MHT , > COLOR_BayerGR2GRAY_MHT > - COLOR_BayerBG2BGR_MHT , COLOR_BayerGB2BGR_MHT , COLOR_BayerRG2BGR_MHT , > COLOR_BayerGR2BGR_MHT
Parameters:
src | Source image (8-bit or 16-bit single channel). |
dst | Destination image. |
code | Color space conversion code (see the description below). |
dcn | Number of channels in the destination image. If the parameter is 0, the number of the channels is derived automatically from src and the code . |
stream | Stream for the asynchronous version. |
See also:
void cv::cuda::gammaCorrection( InputArray src, OutputArray dst, bool forward = true, Stream& stream = Stream::Null() )
Routines for correcting image color gamma.
Parameters:
src | Source image (3- or 4-channel 8 bit). |
dst | Destination image. |
forward | true for forward gamma correction or false for inverse gamma correction. |
stream | Stream for the asynchronous version. |
void cv::cuda::swapChannels( InputOutputArray image, const int dstOrder [4], Stream& stream = Stream::Null() )
Exchanges the color channels of an image in-place.
The methods support arbitrary permutations of the original channels, including replication.
Parameters:
image | Source image. Supports only CV_8UC4 type. |
dstOrder | Integer array describing how channel values are permutated. The n-th entry of the array contains the number of the channel that is stored in the n-th channel of the output image. E.g. Given an RGBA image, aDstOrder = [3,2,1,0] converts this to ABGR channel order. |
stream | Stream for the asynchronous version. |