下载
中文
注册

Threshold

函数功能

图像处理类,Tensor类的阈值处理接口,支持float16、float32、uint8。支持异步调用。不支持inplace操作。

当前支持Atlas 推理系列产品Atlas 200I/500 A2 推理产品

Atlas 200I/500 A2 推理产品上,支持预加载(通过预加载“ThresholdBinary”进行预加载,预加载时需要添加attr属性,示例请参见初始化算子预加载文件实例”章节)。

使用时需满足以下条件:

  • 接口中输入输出Tensor必须在Device或DVPP侧且各参数(stream及数据内存)需位于同一Device中。
  • 同步场景下,数据内存所在Device需与初始化的Device一致。
  • 请注意处理数据越界问题。
  • Atlas 推理系列产品上,该接口为饱和计算,当数据值超过数据类型范围时,不发生回绕;在Atlas 200I/500 A2 推理产品上,该接口为非饱和接口。
  • 各输入、输出参数对应Tensor形状(shape)相等、类型一致且不超过4维。

函数原型

APP_ERROR Threshold(const Tensor &src, Tensor &dst, float thresh, float maxVal, const ThresholdType &thresholdType = ThresholdType::THRESHOLD_BINARY, AscendStream &stream = AscendStream::DefaultStream());

参数说明

参数名

输入/输出

说明

src

输入

Tensor类,输入张量,支持float16、float32、uint8类型输入,数据内存必须在Device或DVPP侧。

dst

输出

Tensor类,输出张量,float16、float32、uint8类型。支持传入空Tensor,如果dst不为空,形状必须与src相同,需调用Tensor.Malloc()接口提前分配内存,数据内存必须在Device侧(与“src”同一个Device)或DVPP侧。

thresh

输入

float类型,src需要比较的阈值。

maxVal

输入

float类型,当src与阈值thresh比较后符合条件所设置的值。

thresholdType

输入

枚举类型ThresholdType,代表阈值分割的具体规则。当前支持二值化、反二值化(默认为二值化,即dst = maxVal (src>thresh) or 0 (src<= thresh )),反二值化仅支持Atlas 推理系列产品)。

stream

输入

AscendStream类型,默认值为“AscendStream::DefaultStream()”。当参数值为默认值时,接口为同步操作,其他情况下,接口为异步操作。

返回参数说明

数据结构

说明

APP_ERROR

程序执行返回的错误码,请参考APP_ERROR说明