Difference between revisions of "Function:DemosaicDFPD"

From CUVI Wiki
Line 70: Line 70:
CuviImage input("D:/bayer.tif", CUVI_LOAD_IMAGE_GRAYSCALE_KEEP_DEPTH), output;
CuviImage input("D:/bayer.tif", CUVI_LOAD_IMAGE_GRAYSCALE_KEEP_DEPTH), output;
   
   
cuvi::colorOperations::demosaic_DFPD(input, output, CUVI_BAYER_RGGB);
cuvi::colorOperations::demosaicDFPD(input, output, CUVI_BAYER_RGGB);


// Or this to further refine the results
// Or this to further refine the results
cuvi::colorOperations::demosaic_DFPD(input, output, CUVI_BAYER_RGGB, true);
cuvi::colorOperations::demosaicDFPD(input, output, CUVI_BAYER_RGGB, true);
   
   
cuvi::io::saveImage(output, "D:/debayered.png");
cuvi::io::saveImage(output, "D:/debayered.png");

Revision as of 16:24, 12 June 2014

Restores an RGB image from a CFA image using DFPD Bayer algorithm. Directional Filtering with Posteriori Decision to restore the color image gives much better results than demosaic (with bilinear interpolation) and remove artifacts.

Function

CuviStatus demosaicDFPD(const CuviImage& src,
                        CuviImage& dst,
                        const CuviBayerSeq sensorAlignment,
                        bool refineResults,
                        const CuviStream& stream = CuviStream());

Parameters

Name Type Description
src const CuviImage& Input Bayer Image
dst CuviImage& Output RGB Image
sensorAlignment CuviBayerSeq Sensor alignment of the bayer image
refineResults bool Perform additional refinement step
stream const CuviStream& GPU stream ID for execution

Image Type Support

Input Output
8u 8u
16u 16u

Sample

Error creating thumbnail: Unable to save thumbnail to destination
Input
Error creating thumbnail: Unable to save thumbnail to destination
Output

Example

CuviImage input("D:/bayer.tif", CUVI_LOAD_IMAGE_GRAYSCALE_KEEP_DEPTH), output;
 
cuvi::colorOperations::demosaicDFPD(input, output, CUVI_BAYER_RGGB);

// Or this to further refine the results
cuvi::colorOperations::demosaicDFPD(input, output, CUVI_BAYER_RGGB, true);
 
cuvi::io::saveImage(output, "D:/debayered.png");