图像处理类算法,张量比较算法Compare,输入输出张量支持float16、float32、uint8。支持异步调用,支持预加载(示例请参见初始化算子预加载文件示例)。
当前仅支持Atlas 推理系列产品。
使用时需满足以下条件:
当输入Tensor数据类型为float32,尺寸在480P(640*480)以上,数据类型为uint8,尺寸在1080P(1920*1080)以上,或数据类型为float16,尺寸在960*540以上,Compare计算性能优于cv::compare在CPU上的性能。
APP_ERROR Compare(const Tensor &src1, const Tensor &src2, Tensor &dst, const CmpOp cmpOp = CmpOp::CMP_EQ, AscendStream& stream = AscendStream::DefaultStream());
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
src1 |
输入 |
Tensor类,输入张量,支持float16、float32、uint8类型输入,数据内存必须在Device或DVPP侧。 |
src2 |
输入 |
Tensor类,输入张量,支持float16、float32、uint8类型输入,数据内存必须在Device或DVPP侧。 |
dst |
输出 |
Tensor类,输出张量,当满足比较结果时,张量结果为255,否则为0,支持float16、float32、uint8类型输出,支持传入空Tensor,如果dst不为空Tensor,需要调用TensorMalloc()接口提前分配内存。 |
cmpOp |
输入 |
枚举类值,对应张量比较的类型,仅支持等于、不等于、小于、大于、小于等于、大于等于。具体请参见CmpOp。 enum class CmpOp { CMP_EQ = 0, CMP_NE, CMP_LT, CMP_GT, CMP_LE, CMP_GE }; |
stream |
输入 |
AscendStream类型,默认值为“AscendStream::DefaultStream()”。当参数值为默认值时,接口为同步操作;其他情况下,接口为异步操作。 |
数据结构 |
说明 |
---|---|
APP_ERROR |
程序执行返回的错误码,请参考APP_ERROR说明。 |