F_VN_GaussianFilterExp
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
Inputs
Name |
Type |
Description |
---|---|---|
ipSrcImage |
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 |
Image border handling | |
hrPrev |
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
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.59 or later | PC or CX (x64) with PL50, e.g. Intel 4-core Atom CPU | Tc3_Vision |