F_VN_PolarizedImageGlareReduction

F_VN_PolarizedImageGlareReduction 1:

Reduces glare in a polarized image (taken by a camera with a special polarization sensor) by selecting a small intensity value across the four polarization angles for each pixel (see fIndex parameter). For more advanced evaluation, you can use DemosaicPolarizedImage to access all the individual polarization angles.
Can use available TwinCAT Job Tasks for executing parallel code regions.

Syntax

Definition:

FUNCTION F_VN_PolarizedImageGlareReduction : HRESULT
VAR_INPUT
    ipPolarizedImage : ITcVnImage;
    ipDestImage      : Reference To ITcVnImage;
    eEncoding        : ETcVnPixelEncoding;
    fIndex           : REAL;
    hrPrev           : HRESULT;
END_VAR

 Inputs

Name

Type

Description

ipPolarizedImage

ITcVnImage

Polarized image (USINT or UINT)

ipDestImage

Reference To ITcVnImage

Returns the glare reduced image (An appropriate destination image will be created if required.)

eEncoding

ETcVnPixelEncoding

Select PE_NONE for Mono or PE_BAYER_XX for Bayer sensor

fIndex

REAL

The four polarization angles for each pixel are sorted by intensity. Select the index (in the range of [0, 3]) to use for the destination image. Fractions compute a weighted average of 2 neighboring indices. Recommended to try 0.0 first, as this leads to the maximum possible glare reduction (but might lose some details). Values greater than 1 are valid, but usually increase glare instead of reducing it.

hrPrev

HRESULT

HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.)

 Return value

HRESULT

Weiterführende Informationen

Die Funktion F_VN_PolarizedImageGlareReduction reduziert Glanz und Reflexe in einem Polarisationsbild, das bestimmten Polarisationsbildformaten entspricht.

Für jedes Pixel werden die Intensitäten der vier Polarisationswinkel sortiert, über fIndex wird dann der Intensitätswert für das Ergebnisbild bestimmt. Ein Pixel wird dadurch nur dann abgedunkelt, wenn die Intensitäten stark vom Polarisationswinkel abhängen, es also größere Unterschiede in den Intensitätswerten gibt. Nicht polarisierte Bildbereiche besitzen über alle vier Winkel nahezu die gleiche Intensität und bleiben daher weitgehend unverändert.

Für eine detailliertere Auswertung der einzelnen Polarisationswinkel kann die Funktion F_VN_DemosaicPolarizedImage verwendet werden.

Parameter

Eingangsbild

Das Eingangsbild ipPolarizedImage muss ein Polarisationsbild vom Typ USINT (8 Bit) oder UINT (16 Bit) sein.

Ergebnisbild

Über ipDestImage wird das glanzreduzierte Bild zurückgegeben.

eEncoding

Der Parameter eEncoding vom Typ ETcVnPixelEncoding gibt das Pixel-Encoding des Sensors an. Für einen monochromen Sensor ist TCVN_PE_NONE zu wählen. Bei einem Farb-Polarisationssensor muss das entsprechende Bayer-Muster TCVN_PE_BAYER_XX übergeben werden.

Auswahlindex

Die vier Polarisationswinkel werden für jedes Pixel nach ihrer Intensität sortiert. Mit fIndex Wertebereich 0.0-3.0 wird der Intensitätswert bestimmt, der für das Zielbild verwendet wird. Bei einer Angabe eines Nachkommawerts wird ein gewichteter Mittelwert der beiden benachbarten Indizes bzw. der sortierten Intensitätswerte berechnet. Es wird empfohlen, zunächst den Wert 0.0 zu verwenden, da dieser zur maximal möglichen Glanzreduktion führt (wobei einige Details verloren gehen können). Mit 0.5 wird z.B. ein Mittelwert vom kleinsten und zweitkleinsten Intensitätswerten berechnet. Werte größer als 1.0 erhöhen den Glanz jedoch in der Regel, statt ihn zu reduzieren.

Required License

TC3 Vision Base

System Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT V3.1.4024.59 or later

PC or CX (x64) with min. PL50, e.g. Intel 4-core Atom CPU

Tc3_Vision