F_VN_PolarizedImageGlareReduction
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_VARInputs
|
Name |
Type |
Description |
|---|---|---|
|
ipPolarizedImage |
Polarized image (USINT or UINT) | |
|
ipDestImage |
Reference To ITcVnImage |
Returns the glare reduced image (An appropriate destination image will be created if required.) |
|
eEncoding |
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 indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
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 |