F_VN_CustomFilter

F_VN_CustomFilter 1:

Apply a custom filter to the image.

Syntax

Definition:

FUNCTION F_VN_CustomFilter : HRESULT
VAR_INPUT
    ipSrcImage  : ITcVnImage;
    ipDestImage : Reference To ITcVnImage;
    eDestDepth  : ETcVnElementType;
END_VAR
VAR_IN_OUT
    stKernel    : TcVnMatrix;
END_VAR
VAR_INPUT
    hrPrev      : HRESULT;
END_VAR

F_VN_CustomFilter 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_CustomFilter 3: In/Outputs

Name

Type

Description

stKernel

TcVnMatrix

Custom filter kernel with values of type REAL or LREAL

F_VN_CustomFilter 4: Return value

HRESULT

Weiterführende Informationen

Die Funktion F_VN_CustomFilter wendet einen benutzerdefinierten Filter auf das Eingangsbild an. Der Filter-Kernel wird durch eine Matrix definiert. Diese Matrix wird mit dem Bild gefaltet.

Parameter

Eingangsbild

Das Eingangsbild ipSrcImage darf jedes verfügbare Format haben.

Ergebnisbild

Das Ergebnisbild ipDestImage hat das gleiche Format wie das Eingangsbild ipSrcImage.

Ergebnistiefe

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

Filter-Kernel

Der benutzerdefinierte Filter-Kernel stKernel wird als Matrix übergeben. Erlaubte Element-Typen der Matrix sind TCVN_ET_REAL und TCVN_ET_LREAL. Eine entsprechende Matrix vom Typ TcVnMatrix kann mit Hilfe der Funktion F_VN_InitMatrixStruct erstellt werden.

Expert-Parameter

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

Anwendung

hr := F_VN_InitMatrixStruct(
    pSrcBuffer      := ADR(aMatrixArray7x7),
    stDestMatrix    := stKernelMatrix,
    nRows           := 7,
    nCols           := 7,
    eElementType    := TCVN_ET_REAL,
    hrPrev          := hr
);

hr := F_VN_CustomFilter(
    ipSrcImage  :=  ipImageIn,
    ipDestImage :=  ipImageRes,
    eDestDepth  :=  TCVN_ET_USINT,
    stKernel    :=  stKernelMatrix,
    hrPrev      :=  hr
);

Originalbilder

Ergebnisbilder:

Mean-Filter

F_VN_CustomFilter 5:

F_VN_CustomFilter 6:

F_VN_CustomFilter 7:

F_VN_CustomFilter 8:

F_VN_CustomFilter 9:

F_VN_CustomFilter 10:

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