F_VN_LaplacianFilterExp

F_VN_LaplacianFilterExp 1:

Apply a Laplacian filter to an image. (expert function)

Syntax

Definition:

FUNCTION F_VN_LaplacianFilterExp : HRESULT
VAR_INPUT
    ipSrcImage  : ITcVnImage;
    ipDestImage : Reference To ITcVnImage;
    eDestDepth  : ETcVnElementType;
    nKernelSize : UDINT;
    fScale      : LREAL;
    fDelta      : LREAL;
    eBorderType : ETcVnBorderInterpolationMethod;
    hrPrev      : HRESULT;
END_VAR

F_VN_LaplacianFilterExp 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

nKernelSize

UDINT

Aperture size used to compute the second-derivative filters (1, 3, 5, ..., 31)

fScale

LREAL

Scale factor for the computed derivative values

fDelta

LREAL

Delta value that is added to the results before storing them

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_LaplacianFilterExp 3: Return value

HRESULT

Weiterführende Informationen

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

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.

Kernel-Größe

Der Parameter nKernelSize definiert die Größe des Filter-Kernels zur Approximation der 2. Ableitung. Es sind nur ungerade Werte zwischen 1 und 31 erlaubt.

Skalierung

Das Ergebnis der Laplace-Operation wird mit dem Skalierungsfaktor fScale multipliziert.

Delta

Das konstante Delta fDelta wird auf das Ergebnis der Scharr-Operation nach Skalierung mit fScale dazuaddiert.

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

Das Anwenden eines Laplace-Filters mit einer Kernel-Größe von 3×3 sieht z. B. so aus:

hr := F_VN_LaplacianFilterExp(
    ipSrcImage  :=  ipImageIn,
    ipDestImage :=  ipImageRes,
    eDestDepth  :=  TCVN_ET_USINT,
    nKernelSize :=  3,
    fScale      :=  1,
    fDelta      :=  0,
    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.54 or later

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

Tc3_Vision