VPI - 视觉编程接口

3.2 版本

腐蚀

使用由腐蚀形态学操作组成的 2D 二值核过滤图像。 更多...

函数

VPIStatus vpiSubmitErode (VPIStream stream, uint64_t backend, VPIImage input, VPIImage output, const int8_t *kernelData, int32_t kernelWidth, int32_t kernelHeight, VPIBorderExtension border)
 对图像运行 2D 腐蚀操作。 更多...
 

详细描述

使用由腐蚀形态学操作组成的 2D 二值核过滤图像。

有关腐蚀的更多详细信息和使用示例,请参阅 腐蚀

函数文档

◆ vpiSubmitErode()

VPIStatus vpiSubmitErode ( VPIStream  stream,
uint64_t  backend,
VPIImage  input,
VPIImage  output,
const int8_t *  kernelData,
int32_t  kernelWidth,
int32_t  kernelHeight,
VPIBorderExtension  border 
)

#include <vpi/algo/MorphologicalFilter.h>

对图像运行 2D 腐蚀操作。

参数
[in](输入)stream将在其中排队操作的流句柄。
  • 不得为 NULL。
  • 流必须已启用将执行该算法的后端。
[in](输入)backend将执行该算法的后端。
[in](输入)input要使用内核腐蚀的输入图像。
[out](输出)output结果写入到的输出图像。
  • 不得为 NULL。
  • 必须具有与输入图像相同的格式和尺寸。
  • 图像必须已启用将执行该算法的后端。
[in](输入)kernelWidth,kernelHeight内核尺寸。
  • 必须介于 1x1 和 11x11 之间,并且可以是非正方形。(PVA 仅支持 3x3 和 5x5 正方形尺寸)
[in](输入)kernelData腐蚀内核二值掩码,即结构元素或邻域定义,采用行优先布局。内核元素被复制到内部缓冲区。调用后可以释放传递的缓冲区。对于完整邻域,使用 NULL,所有元素都视为 1。
  • 如果不是 NULL,则它必须指向具有 kernelWidth * kernelHeight 个元素的缓冲区。(PVA 仅支持 3x3、5x5 正方形和 3x3 十字形内核)
[in](输入)border如何处理图像边界外的像素。
返回值
VPI_ERROR_INVALID_ARGUMENTstream 为 NULL。
VPI_ERROR_INVALID_ARGUMENTinputoutput 为 NULL。
VPI_ERROR_INVALID_ARGUMENTkernelWidthkernelHeight 超出有效范围。
VPI_ERROR_INVALID_ARGUMENTinputoutput 图像必须具有相同的尺寸和格式。
VPI_ERROR_INVALID_ARGUMENT不支持 border
VPI_ERROR_INVALID_IMAGE_FORMAT不支持 input 格式。
VPI_ERROR_NOT_IMPLEMENTED给定后端不支持腐蚀算法。
VPI_ERROR_INVALID_OPERATIONstreaminputoutput 中未启用所需的后端。
VPI_SUCCESS操作成功执行。