F_VN_GaussianFilterExp

F_VN_GaussianFilterExp 1:

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

Syntax

Definition:

FUNCTION F_VN_GaussianFilterExp : HRESULT
VAR_INPUT
    ipSrcImage    : ITcVnImage;
    ipDestImage   : Reference To ITcVnImage;
    nFilterWidth  : UDINT;
    nFilterHeight : UDINT;
    fSigmaX       : LREAL;
    fSigmaY       : LREAL;
    eBorderType   : ETcVnBorderInterpolationMethod;
    hrPrev        : HRESULT;
END_VAR

F_VN_GaussianFilterExp 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, ...)

fSigmaX

LREAL

Gaussian kernel standard deviation in X direction (>= 0, automatically chosen if 0)

fSigmaY

LREAL

Gaussian kernel standard deviation in Y direction (>= 0, automatically chosen if 0)

eBorderType

ETcVnBorderInterpolationMethod

Image border handling

hrPrev

HRESULT

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

F_VN_GaussianFilterExp 3: Return value

HRESULT

Weiterführende Informationen

Die Funktion F_VN_GaussianFilterExp ist die Expert-Variante von F_VN_GaussianFilter. Sie enthält zusätzliche Parameter.

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.

Standardabweichung

Die Standardabweichung in X-Richtung fSigmaX und in Y-Richtung fSigmaY definiert zusätzlich zur Filtergröße die Form der Gauß-Kurve, die im Filter verwendet wird.

Rand-Extrapolation

Die Art der Rand-Extrapolation eBorderType definiert, wie nichtexistente Pixel über die Bildgrenze hinaus extrapoliert werden, um die Filterwerte an den Bildgrenzen auszurechnen. Für weitere Details siehe ETcVnBorderInterpolationMethod.

Anwendung

hr := F_VN_GaussianFilterExp(
    ipSrcImage      :=  ipImageIn,
    ipDestImage     :=  ipImageRes,
    nFilterWidth    :=  3,
    nFilterHeight   :=  3,
    fSigmaX         :=  5,
    fSigmaY         :=  5,
    eBorderType     :=  TCVN_BIM_DEFAULT,
    hrPrev          :=  hr
);

Beispiele

Required License

TC3 Vision Base

System Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT V3.1. 4024.44 or later

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

Tc3_Vision