F_VN_LaplacianFilter

F_VN_LaplacianFilter 1:

Apply a Laplacian filter to an image.

Syntax

Definition:

FUNCTION F_VN_LaplacianFilter : HRESULT
VAR_INPUT
    ipSrcImage  : ITcVnImage;
    ipDestImage : Reference To ITcVnImage;
    eDestDepth  : ETcVnElementType;
    hrPrev      : HRESULT;
END_VAR

F_VN_LaplacianFilter 2: Inputs

Name

Type

Description

ipSrcImage

ITcVnImage

Source image

ipDestImage

Reference To ITcVnImage

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

eDestDepth

ETcVnElementType

Destination image depth

hrPrev

HRESULT

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

F_VN_LaplacianFilter 3: Return value

HRESULT

Weiterführende Informationen

Die Funktion F_VN_LaplacianFilter wendet einen Laplace-Filter auf das Eingangsbild an.

Algorithmus

Der Laplace-Filter kann verwendet werden um Kanten zu detektieren, indem die 2. Ableitung der Übergänge benachbarter Pixelintensitäten approximiert wird. Da die Ableitung auch negative Werte hat, empfiehlt es sich einen vorzeichenbehafteten Elementtyp für das Ergebnisbild zu verwenden (z.B. TCVN_ET_INT).

Für nKernelSize = 3, 5, ... wird der Laplace-Filter durch Addition der 2. Ableitung in x- und y-Richtung über die angegebene Fenstergröße berechnet. Für nKernelSize = 1 wird der folgende spezielle 3 x 3 Kernel verwendet:

F_VN_LaplacianFilter 4:

Parameter

Eingangsbild

Das Eingangsbild ipSrcImage darf, außer den grundsätzlich nicht unterstützen Datentypen SINT und DINT, 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.

Ergebnistiefe

Die Ergebnistiefe eDestDepth definiert, welchen Element-Typ das Ergebnisbild ipDestImage hat. Ein größerer Element-Typ kann mehr Informationen darstellen.

Hinweis

Kombination von Eingangsbild und Ergebnistiefe

Als Ergebnistiefe kann immer nur der gleiche oder ein größerer Datentyp wie der des Eingangsbildes verwendet werden, da sonst Daten verloren gehen würden. Z. B. kann ein UINT nicht in ein USINT gewandelt werden. Weiterhin bestehen noch zwei Einschränkungen, so dass ein UINT nicht in ein INT und ein REAL nicht in ein LREAL gewandelt werden können.

Expert-Parameter

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

Anwendung

Das Anwenden eines Laplace-Filters mit einer Ergebnistiefe von 8 Bit sieht z. B. so aus:

hr := F_VN_LaplacianFilter(
    ipSrcImage  :=  ipImageIn,
    ipDestImage :=  ipImageRes,
    eDestDepth  :=  TCVN_ET_USINT,
    hrPrev      :=  hr
);

Originalbild

Ergebnisbild

F_VN_LaplacianFilter 5:

F_VN_LaplacianFilter 6:

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