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 |
Further information
The function F_VN_SeparableCustomFilter applies a separable 2D filter to the input image.
Algorithm
A separable 2D filter can be combined from two 1D filters. It is more efficient to apply a 1D filter to an image twice than to apply a 2D filter once. For example, the well-known Sobel filter can be constructed as follows from two separate one-dimensional filters:


Parameter
Input image
The input image ipSrcImage may have any available format.
Result image
The result image ipDestImage has the same size as the input image ipSrcImage, but the pixel format is determined by the result depth eDestDepth.
X and Y kernel
The two 1-dimensional filter kernels stKernelX and stKernelY are transferred as a matrix. Permitted element types of the matrix are TCVN_ET_REAL and TCVN_ET_LREAL. Corresponding matrices of the type TcVnMatrix can be created with the aid of the function F_VN_InitMatrixStruct.
Expert parameters
The expert version F_VN_SeparableCustomFilterExp contains additional parameters.
Application
The creation and application of a separable 2D filter looks like this, for example:
hr := F_VN_SeparableCustomFilter(
ipSrcImage := ipImageIn,
ipDestImage := ipImageRes,
eDestDepth := TCVN_ET_USINT,
stKernelX := stKernelMatrixX,
stKernelY := stKernelMatrixY,
hrPrev := hr
);Samples
- User-defined filters
Required License
TC3 Vision Base
Return value