下载
中文
注册

Resize

函数功能

ImageProcessor类的图像缩放接口,Atlas 推理系列产品支持异步执行,使用该接口申请的Image内存无需用户管理,由内部管理释放,缩放效果示意图请参见图1

  1. 输入输出Image类支持的图像格式参考如下。
    • Atlas 200/300/500 推理产品支持YUV_SP_420、YVU_SP_420(nv12、nv21)。
    • Atlas 200I/500 A2 推理产品支持YUV_SP_420、YVU_SP_420(nv12、nv21)。
    • Atlas 推理系列产品支持YUV_SP_420、YVU_SP_420、RGB_888、BGR_888(nv12、nv21、rgb、bgr),其中RGB(BGR)图像格式分辨率不超过(4096 * 4096)。
  2. “inputImage”的真实图片分辨率范围:18 * 6 ~ 4096 * 4096,其中YUV_SP_420 和 YVU_SP_420格式的宽高可达到 8192 * 8192。
  3. 参数“resize”的最大分辨率:4096 * 4096,最小分辨率:32 * 6。
  4. “outputImage”宽自动与16对齐,高与2对齐,因此宽高范围为:32 * 6 ~ 4096 * 4096。
  5. 缩放后图片的宽高不能超出真实图片的[1/32 ,16]倍数区间。
    图1 缩放

函数原型

原型1(预计2025年3月正式删除,请使用该接口其他函数原型):

APP_ERROR ImageProcessor::Resize(const Image& inputImage, const Size& resize, Image& outputImage, const Interpolation interpolation = Interpolation::HUAWEI_HIGH_ORDER_FILTER);

原型2:

APP_ERROR ImageProcessor::Resize(const Image& inputImage, const Size& resize, Image& outputImage, const Interpolation interpolation, AscendStream& stream);

参数说明

参数名

输入/输出

说明

inputImage

输入

输入缩放前的Image类。Decode接口和其他VPC接口获取的Image类可以直接作为输入。若是用户自定义构造的Image类,则需要设置图像宽高和图像对齐后的宽高。

resize

输入

输入图像缩放的宽高。

interpolation

输入

输入图像的缩放方式,可选参数参见如下。

HUAWEI_HIGH_ORDER_FILTER = 0
BILINEAR_SIMILAR_OPENCV = 1
NEAREST_NEIGHBOR_OPENCV = 2
BILINEAR_SIMILAR_TENSORFLOW = 3
NEAREST_NEIGHBOR_TENSORFLOW = 4
Atlas 200/300/500 推理产品支持以下算法(默认为0)。
  • 0:华为自研的高滤波算法。
  • 1:业界通用的Bilinear算法(与OpenCV算法的计算精度接近)。
  • 2:业界通用的Nearest neighbor算法(与OpenCV算法的计算精度接近)。
  • 3:业界通用的Bilinear算法(与Tensorflow框架的计算精度接近)。
  • 4:业界通用的Nearest neighbor算法(与Tensorflow框架的计算精度接近)。
Atlas 200I/500 A2 推理产品支持以下算法(默认为0)。
  • 0:华为自研的高滤波算法。
  • 1:业界通用的Bilinear算法(与OpenCV算法的计算精度接近)。
  • 2:业界通用的Nearest neighbor算法(与OpenCV算法的计算精度接近)。
  • 3:业界通用的Bilinear算法(与Tensorflow框架的计算精度接近)。
  • 4:业界通用的Nearest neighbor算法(与Tensorflow框架的计算精度接近)。
Atlas 推理系列产品支持以下算法(同步执行时默认为0)。
  • 0、1:业界通用的Bilinear算法(与OpenCV算法的计算过程类似,当输入和输出图片格式都为RGB时,在[1/32, 512]的缩放范围内,与OpenCV算法的单个像素值最大差异为正负1)。
  • 2:业界通用的Nearest neighbor算法(与OpenCV算法的计算过程类似。)

outputImage

输出

输出缩放后的Image类。

stream

输入

输入用于异步执行的Stream,具体请参见AscendStream

返回参数说明

数据结构

说明

APP_ERROR

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