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

Further information

The function F_VN_CustomFilter applies a user-defined filter to the input image. The filter kernel is defined by a matrix. This matrix is folded with the image.

Parameter

Input image

The input image ipSrcImage may have any available format.

Result image

The result image ipDestImage has the same format as the input image ipSrcImage.

Result depth

The result depth eDestDepth defines which element type the result image ipDestImage has. A larger element type can display more information.

Filter kernel

The user-defined filter kernel stKernel is transferred as a matrix. Permitted element types of the matrix are TCVN_ET_REAL and TCVN_ET_LREAL. A corresponding matrix of the type TcVnMatrix can be created with the aid of the function F_VN_InitMatrixStruct.

Expert parameters

The expert version F_VN_CustomFilterExp contains additional parameters.

Application

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
);

Original images

Result images:

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:

Samples

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