F_VN_GaussianFilter

F_VN_GaussianFilter 1:

Apply a Gaussian filter to smooth the image.
Can use available TwinCAT Job Tasks for executing parallel code regions.

Syntax

Definition:

FUNCTION F_VN_GaussianFilter : HRESULT
VAR_INPUT
    ipSrcImage    : ITcVnImage;
    ipDestImage   : Reference To ITcVnImage;
    nFilterWidth  : UDINT;
    nFilterHeight : UDINT;
    hrPrev        : HRESULT;
END_VAR

F_VN_GaussianFilter 2: Inputs

Name

Type

Description

ipSrcImage

ITcVnImage

Source image

ipDestImage

Reference To ITcVnImage

Destination image (An appropriate destination image will be created if required.)

nFilterWidth

UDINT

Filter width in pixels (1, 3, 5, 7, ...)

nFilterHeight

UDINT

Filter height in pixels (1, 3, 5, 7, ...)

hrPrev

HRESULT

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

F_VN_GaussianFilter 3: Return value

HRESULT

Weiterführende Informationen

Die Funktion F_VN_GaussianFilter wendet einen Gauß-Filter auf das Eingangsbild an.

Algorithmus

Der Gauß-Filter wird in der Bildverarbeitung häufig zur Rauschunterdrückung bzw. Glättung eines Bildes eingesetzt. Dabei wird jedes Pixel durch den gewichteten Mittelwert seiner Umgebung ersetzt, wodurch kleinere Details entfernt werden, größere jedoch erhalten bleiben. Je größer der Filter gewählt wird, desto stärker wird das Bild geglättet (und wirkt dementsprechend unschärfer).

Parameter

Eingangsbild

Das Eingangsbild ipSrcImage darf jedes verfügbare Format haben.

Ergebnisbild

Das Ergebnisbild ipDestImage erhält das gleiche Format wie das Eingangsbild ipSrcImage.

Filter-Größe

Die Größe des Gauß-Filters wird in X-Richtung durch nFilterWidth und in Y-Richtung durch nFilterHeight beschrieben. Die Größenangaben müssen ungerade sein, da es immer ein mittleres Pixel geben muss.

Expert-Parameter

Die Expert-Variante F_VN_GaussianFilterExp enthält zusätzliche Parameter.

Anwendung

hr := F_VN_GaussianFilter(
    ipSrcImage      :=  ipImageIn,
    ipDestImage     :=  ipImageRes,
    nFilterWidth    :=  7,
    nFilterHeight   :=  7,
    hrPrev          :=  hr
);

Das unbearbeitete Originalbild (1. Zeile) weist im Detail bereits feine Strukturen auf den Oberflächen der Zahnräder auf. Um die Filterwirkungen zu verdeutlichen wurden zusätzliche Störungen durch ein Gauss- (2. Zeile) und ein Salz- und Pfeffer-Rauschen (3. Zeile) zu dem Originalbild hinzugefügt.

Originalbilder

Ergebnisbilder

F_VN_GaussianFilter 4:

F_VN_GaussianFilter 5:

F_VN_GaussianFilter 6:

F_VN_GaussianFilter 7:

F_VN_GaussianFilter 8:

F_VN_GaussianFilter 9:

Beispiele

Required License

TC3 Vision Base

System Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT V3.1.4024.54 or later

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

Tc3_Vision