kml_init_filter

filter2D计算资源初始化。

接口定义

C interface:

int kml_init_filter(cvhalFilter2D **context, unsigned char *kernel_data, size_t kernel_step, int kernel_type, int kernel_width, int kernel_height, int max_width, int max_height, int src_type, int dst_type, int borderType, double delta, int anchor_x, int anchor_y, bool allowSubmatrix, bool allowInplace);

参数

参数名

类型

描述

输入/输出

context

cvhalFilter2D **

空结构体指针,完成资源初始化后,指向内部申请的资源结构体空间

输入/输出

kernel_data

unsigned char*

卷积核数据

输出

kernel_step

size_t

卷积核每行数据的字节数

输入

kernel_width

int

卷积核的宽度

输入

kernel_height

int

卷积核的高度

输入

max_width

int

完整图像宽度

输入

max_height

int

完整图像高度

输入

src_type

int

输入图像类型

输入

dst_type

int

输出图像类型

输入

borderType

int

边界填充类型

输入

delta

double

添加在输出图像的偏置值

输入

anchor_x

int

滤波起始点在卷积核中的宽度方向的相对坐标

输入

anchor_y

int

滤波起始点在卷积核中的高度方向的相对坐标

输入

allowSubMatrix

bool

是否支持输入图像是子矩阵, true表示支持,false表示不支持

输入

allowInplace

bool

是否支持inplace运算, true表示支持,false表示不支持

输入

函数接口入参由OpenCV filter2D上层对入参处理传入,kml_init_filter不支持用户显式调用。

返回值

场景

返回值

输入图像深度、输出图像深度不为CV_16F或CV_32F

1

卷积核通道数不等于1

1

传入OpenCV filter2D接口的边界填充类型不在以下列表中:

BORDER_CONSTANT

BORDER_REPLICATE

BORDER_REFLECT

BORDER_REFLECT_101

BORDER_REFLECT101

BORDER_DEFAULT

BORDER_ISOLATED

1

内部资源申请失败

-1

其余场景

0