F_VN_SeparableCustomFilter
Apply a separable custom filter to the image.
Syntax
Definition:
FUNCTION F_VN_SeparableCustomFilter : HRESULT
VAR_INPUT
ipSrcImage : ITcVnImage;
ipDestImage : Reference To ITcVnImage;
eDestDepth : ETcVnElementType;
END_VAR
VAR_IN_OUT
stKernelX : TcVnMatrix;
stKernelY : TcVnMatrix;
END_VAR
VAR_INPUT
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.) |
|
eDestDepth |
Destination image depth | |
|
hrPrev |
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
In/Outputs
|
Name |
Type |
Description |
|---|---|---|
|
stKernelX |
1D custom row-filter kernel with values of type REAL or LREAL | |
|
stKernelY |
1D custom column-filter kernel with values of type REAL or LREAL |
Weiterführende Informationen
Die Funktion F_VN_SeparableCustomFilter wendet einen trennbaren 2D-Filter auf das Eingangsbild an.
Algorithmus
Ein trennbarer 2D Filter kann aus zwei 1D Filtern kombiniert werden. Es ist effizienter 2-mal einen 1D Filter auf ein Bild anzuwenden als 1-mal einen 2D Filter. So kann z. B. der bekannte Sobel-Filter wie folgt aus 2 separaten eindimensionalen Filtern aufgebaut werden:


Parameter
Eingangsbild
Das Eingangsbild ipSrcImage darf jedes verfügbare Format haben.
Ergebnisbild
Das Ergebnisbild ipDestImage hat die gleiche Größe wie das Eingangsbild ipSrcImage, das Pixelformat wird allerdings durch die Ergebnistiefe eDestDepth bestimmt.
X- und Y-Kernel
Die beiden 1-dimensionalen Filter-Kernel stKernelX und stKernelY werden als Matrix übergeben. Erlaubte Element-Typen der Matrix sind TCVN_ET_REAL und TCVN_ET_LREAL. Entsprechende Matrizen vom Typ TcVnMatrix können mit Hilfe der Funktion F_VN_InitMatrixStruct erstellt werden.
Expert-Parameter
Die Expert-Variante F_VN_SeparableCustomFilterExp enthält zusätzliche Parameter.
Anwendung
Die Erstellung und Anwendung eines trennbaren 2D-Filters sieht z. B. so aus:
hr := F_VN_SeparableCustomFilter(
ipSrcImage := ipImageIn,
ipDestImage := ipImageRes,
eDestDepth := TCVN_ET_USINT,
stKernelX := stKernelMatrixX,
stKernelY := stKernelMatrixY,
hrPrev := hr
);Beispiele
- Benutzerdefinierte Filter
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 |
Return value