mxpi_imageresize

功能描述

对解码后的YUV、RGB格式的图像进行指定宽高的缩放。

  • 其中YUV_420既支持4k大小的图像,也支持8k大小的图像。
  • 其他类型的YUV图像,只支持4k大小的图像,如YUV422,YUV444等。
  • RGB格式支持RGB888和BGR888。

同步/异步(status)

异步

约束限制

  • 既支持4k,也支持8k的图像格式:
    1
    2
    MXPI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // 1, YUV420SP NV12 8bit
    MXPI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // 2, YUV420SP NV21 8bit
    
  • 只支持4k的图像格式:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    MXPI_PIXEL_FORMAT_YUV_400 = 0, // 0, YUV400 8bit
    MXPI_PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // 3, YUV422SP NV12 8bit
    MXPI_PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // 4, YUV422SP NV21 8bit
    MXPI_PIXEL_FORMAT_YUV_SEMIPLANAR_444 = 5, // 5, YUV444SP NV12 8bit
    MXPI_PIXEL_FORMAT_YVU_SEMIPLANAR_444 = 6, // 6, YUV444SP NV21 8bit
    MXPI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // 7, YUV422P YUYV 8bit
    MXPI_PIXEL_FORMAT_UYVY_PACKED_422 = 8, // 8, YUV422P UYVY 8bit
    MXPI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // 9, YUV422P YVYU 8bit
    MXPI_PIXEL_FORMAT_VYUY_PACKED_422 = 10, // 10, YUV422P VYUY 8bit
    MXPI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // 11, YUV444P 8bit
    MXPI_PIXEL_FORMAT_RGB_888 = 12,        // 12, RGB888 8bit
    MXPI_PIXEL_FORMAT_BGR_888 = 13,        // 13, BGR888 8bit
    
  • 8k图片格式的宽高大小范围:32~8192。4k图片格式的宽高大小范围:32~4096。

插件基类(factory)

mxpi_imageresize

输入和输出

  • 输入:buffer(数据类型“MxpiBuffer”)、metadata(数据类型“MxpiVisionList”)。
  • 输出:buffer(数据类型“MxpiBuffer”)、metadata(数据类型“MxpiVisionList”)。

端口格式(caps)

  • 静态输入:{"image/yuv","metadata/object","image/rgb"}。
  • 静态输出:{"image/yuv","image/rgb"}。

属性

请参见表1

表1 mxpi_imageresize插件的属性

属性名

描述

是否为必选项

是否可修改

deviceId

使用设备的芯片编号,无需自己设置,统一由“stream_config”字段中的“deviceId”属性设置。

removeParentData

删除原Buffer数据,默认为“0”

  • 0:不删除原Buffer数据。
  • 1:删除原Buffer数据。

parentName

输入数据对应索引(通常情况下为上游元件名称),从当前版本不再演进,请使用dataSource。

dataSource

输入数据对应索引(通常情况下为上游元件名称)。默认为上游插件对应输出端口的key值。

建议使用

resizeHeight

  • Resizer_StretchResizer_KeepAspectRatio_Fit缩放模式中,指定缩放后的高。默认会自动适配下游模型推理插件的图片高度,取值范围为[6, 4096]。
  • 输入缩放后的高自动以2对齐。建议指定图像缩放后的高以2对齐,且必须在图片分辨率高的[1/32, 16]之间。
  • 如果缩放插件下游紧接的不是推理插件,必须设置缩放宽高。如果缩放插件下游紧接的是推理插件,可以不用设置缩放宽高,此时缩放宽高可以自动获取。

resizeWidth

  • Resizer_StretchResizer_KeepAspectRatio_Fit缩放模式中,指定缩放后的宽。默认会自动适配下游模型推理插件的图片宽度,取值范围为[32, 4096]。
  • 输入缩放后的宽自动以16对齐。建议指定图像缩放后的宽以16对齐,且必须在图片分辨率宽的[1/32, 16]之间。
  • 如果缩放插件下游紧接的不是推理插件,必须设置缩放宽高。如果缩放插件下游紧接的是推理插件,可以不用设置缩放宽高,此时缩放宽高可以自动获取。

maxDimension

FastRCNN缩放模式中缩放后图片的最大长度。

minDimension

FastRCNN缩放模式中缩放后图片的最小长度。

resizeType

缩放方式:

  • Resizer_Stretch:拉伸缩放,默认缩放方式。支持OpenCV方法和Ascend方法。
  • Resizer_KeepAspectRatio_FastRCNN:和FastRCNN缩放方式对应。支持OpenCV方法和Ascend方法。
  • Resizer_KeepAspectRatio_Fit:等比缩放,使图片等比缩放至在指定宽高的区域内面积最大化。支持OpenCV方法和Ascend方法。
  • Resizer_OnlyPadding:只padding,支持OpenCV方法和Ascend方法。
  • Resizer_KeepAspectRatio_Long:最长边设置成某个指定值,等比例缩放,仅支持OpenCV方法。
  • Resizer_KeepAspectRatio_Short:最短边设置成某个指定值,等比例缩放,仅支持OpenCV方法。
  • Resizer_Rescale:按长宽缩放的较小比例拉伸缩放,仅支持OpenCV方法。
  • Resizer_Rescale_Double:按长宽缩放的较小比例拉伸缩放两次,仅支持OpenCV方法。
  • Resizer_PaddleOCR:以高为准的等比例缩放,仅支持OpenCV方法。
  • Resizer_MS_Yolov4:YOLOv4模型对应的缩放方式,仅支持OpenCV方法。

scaleValue

设置图片缩放的指定值,默认值为“32”,取值范围[32, 8192]。

  • Resizer_KeepAspectRatio_Long最长边缩放到的指定值。
  • Resizer_KeepAspectRatio_Short最短边缩放到的指定值。

RGBValue

设置补边颜色值,依次输入R、G、B值,默认为空即不执行padding颜色设置,使用DVPP默认背景色。仅支持Ascend方法。

interpolation

设置resize插件的插值方式,默认值为“0”

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算法的计算过程类似)。

cvProcessor

处理方法。
  • ascend(默认):调用昇腾DVPP接口进行处理。
  • opencv:调用OpenCV接口进行处理。

paddingType

补边方式。

  • Padding_NO(默认):不补边(Ascend/OpenCV方法支持该补边处理方式)。
  • Padding_RightDown:右下方补边(仅OpenCV方法支持该补边处理方式)。
  • Padding_Around:上下左右补边(Ascend/OpenCV方法支持该补边处理方式)。

paddingHeight

补边后的高,必须比缩放后图片的高大。(该属性仅在OpenCV方法处理中生效)

paddingWidth

补边后的宽,必须比缩放后图片的宽大。(该属性仅在OpenCV方法处理中生效)

paddingColorB

指定补边颜色中三原色蓝色,可以设置为[0, 255]内的浮点数。仅支持OpenCV方法。

paddingColorG

指定补边颜色中三原色绿色,可以设置为[0, 255]内的浮点数。仅支持OpenCV方法。

paddingColorR

指定补边颜色中三原色红色,可以设置为[0, 255]内的浮点数。仅支持OpenCV方法。

handleMethod

预留属性,请使用cvProcessor属性。

处理方法:

  • ascend(默认)
  • opencv