Difference between revisions of "Function:LUT"

From CUVI Wiki
(Created page with "__NOTOC__ Remaps image values according to look up table. ===Function=== {| |style="font-size:150%;"| <syntaxhighlight lang="cpp"> CuviStatus LUT(const CuviImage& src, ...")
 
Line 73: Line 73:
//Create and upload LUT matrix on device
//Create and upload LUT matrix on device
CuviImage mapping(mappingSize,1, CUVI_8UC1);
CuviImage mapping(mappingSize,1, CUVI_8UC1);
mapping.upload(mappingValues, sizeof(mappingValues);
mapping.upload(mappingValues, sizeof(mappingValues));


cuvi::colorOperations::LUT( input, mapping, output );
cuvi::colorOperations::LUT( input, mapping, output );

Revision as of 14:21, 16 June 2014

Remaps image values according to look up table.

Function

CuviStatus LUT(const CuviImage& src,
               const CuviImage& mapping,
               CuviImage& dst,
               const CuviStream& stream = CuviStream());

Parameters

Name Type Description
src CuviImage& Input Image
mapping CuviImage& The look-up table
dst CuviImage& Resultant Image
stream CuviStream& GPU stream ID for execution

Image Type Support

Input 1 Input 2 Output
8u 8u 8u

Sample

Example

CuviImage input = cuvi::io::loadImage(path), output;

//Create LUT on host
const int mappingSize = 256;

unsigned char mappingValues[mappingSize];

//Initialize LUT with values which invert the image values
for(int i=0; i<mappingSize; i++)
    mappingValues[i] = 255 - i;

//Create and upload LUT matrix on device
CuviImage mapping(mappingSize,1, CUVI_8UC1);
mapping.upload(mappingValues, sizeof(mappingValues));

cuvi::colorOperations::LUT( input, mapping, output );