Difference between revisions of "Function:DemosaicDFPD"

From CUVI Wiki
m (Jawad moved page Function:DFPD to Function:DemosaicDFPD over redirect)
 
(5 intermediate revisions by the same user not shown)
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.
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===
====Function====
{|
{|
|style="font-size:150%;"|
|style="font-size:100%;"|
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
CuviStatus demosaicDFPD(const CuviImage& src,
CuviStatus demosaicDFPD(const CuviImage& src,
Line 13: Line 13:
|}
|}


===Parameters===
====Parameters====
 
{|
|style="font-size:75%;"|
{|class="wikitable"
{|class="wikitable"
|-
|-
Line 40: Line 41:
| const CuviStream&
| const CuviStream&
| GPU stream ID for execution
| GPU stream ID for execution
 
|}
|}
|}


===Image Type Support===
====Image Type Support====
 
{|
|style="font-size:75%;"|
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 55: Line 57:
| 16u
| 16u
| 16u
| 16u
|}
|}
|}


===Sample===
====Sample====
{|
[[File:In16.png|none|frame|Input]]
|-
<br/>
|[[File:In16.png|frame|Input]]
[[File:Tower.png|none|frame|Output]]
|[[File:Tower.png|frame|Output]]
<br/>
|}


===Example===
====Example====
{|
{|
|style="font-size:150%;"|
|style="font-size:100%;"|
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
CuviImage input("D:/bayer.tif", CUVI_LOAD_IMAGE_GRAYSCALE_KEEP_DEPTH), output;
CuviImage input("D:/bayer.tif", CUVI_LOAD_IMAGE_GRAYSCALE_KEEP_DEPTH), output;

Latest revision as of 20:59, 18 October 2022

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