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
Input
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");
|