Converts image pixel values from one data type to another. It uses dataBits field of CuviImage to decide the number of bits of the destination image while the destination CuviImage decides the container. For example we want to convert an 8-bit input image to 15-bit image than the dataBits field of destination image will be 15 and container/datatype of destination image will be 16.
Function
CuviStatus bitConversion(CuviImage* srcImage,
CuviImage* dstImage,
CuviStream* stream = NULL);
|
Parameters
| Name
|
Type
|
Description
|
| srcImage
|
CuviImage*
|
Input Image
|
| dstImage
|
CuviImage*
|
Output Image
|
| stream
|
CuviStream*
|
GPU stream ID for execution
|
Image Type Support
| Input
|
Output
|
| 8u
|
8u
|
| 8u
|
16u
|
| 16u
|
16u
|
| 16u
|
8u
|
Sample
16-bit Image in 16-bit container
|
15-bit image in 16-bit container
|
Example
//Using bit Conversion in C
CuviMat* gimg,*gout;
//Size of input and output should be same
CuviSize size = cuviSize(img->width,img->height);
cuviCreateMat(&gimg,size,img->depth,img->nChannels);
cuviUploadData(gimg,img->imageData,img->widthStep);
//Telling that input image has a depth of 7-bit
gimg->dataBits = 7;
cuviCreateMat(&gout,size,16,img->nChannels);
//Convert 7-bit image into 15-bit image
gout->dataBits = 15;
cuviBitConversion(gimg,gout);
|