Difference between revisions of "Function:DemosaicDFPD"

From CUVI Wiki
Line 1: Line 1:
__NOTOC__
__NOTOC__
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.
Enhances the low intensity colors in a dark photo taken from a general purpose mobile, CCTV or DSLR camera. Our technique restores most of the hidden features in a low light image making it suitable for enhancing security footage in real-time at dawn, dusk and other low light conditions.
===Function===
===Function===
{|
{|
|style="font-size:150%;"|
|style="font-size:150%;"|
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
CuviStatus demosaicDFPD(const CuviImage& src,
CuviStatus cuvi::colorOperations::lowlight(const CuviImage& src,
                        CuviImage& dst,
                                          CuviImage& dst,
                        const CuviBayerSeq sensorAlignment,
                                          const CuviStream& stream = CuviStream());
                        bool refineResults,
                        const CuviStream& stream = CuviStream());
</syntaxhighlight>
</syntaxhighlight>
|}
|}
Line 23: Line 21:
| src
| src
| const CuviImage&
| const CuviImage&
| Input Bayer Image
| Input Image
|-
|-
| dst
| dst
| CuviImage&
| CuviImage&
| Output RGB Image
| Output Image
|-
| sensorAlignment
| CuviBayerSeq
| Sensor alignment of the bayer image
|-
| refineResults
| bool
| Perform additional refinement step
|-
|-
| stream
| stream

Revision as of 18:40, 27 March 2018

Enhances the low intensity colors in a dark photo taken from a general purpose mobile, CCTV or DSLR camera. Our technique restores most of the hidden features in a low light image making it suitable for enhancing security footage in real-time at dawn, dusk and other low light conditions.

Function

CuviStatus cuvi::colorOperations::lowlight(const CuviImage& src,
                                           CuviImage& dst,
                                           const CuviStream& stream = CuviStream());

Parameters

Name Type Description
src const CuviImage& Input Image
dst CuviImage& Output Image
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");