昇腾社区首页
中文
注册

mxpi_imagecrop

功能描述

  • 支持根据目标检测的(x,y)坐标和(width,height)宽高进行图像裁剪(抠图)。
  • 支持指定上下左右四个方向的扩边比例,扩大目标框的区域进行图像裁剪。
  • 支持指定缩放后的宽高将裁剪(抠图)的图像缩放到指定宽高。

同步/异步(status)

同步

约束限制

  • 输入端口0接收图像数据以及抠图坐标数据。
  • 输入端口1接收图像数据(比如缩放后的图片数据)。
  • 输入图像的最小分辨率:32 * 32。
  • 抠图范围限制:
    • Ascend方法抠图取值范围,高6 ~ 4096,宽10 ~ 4096。
    • OpenCV方法抠图取值范围,高1 ~ 8192,宽1 ~ 8192。
  • 既支持4k,也支持8k的图像格式:
    MXPI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // 1, YUV420SP NV12 8bit
    MXPI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // 2, YUV420SP NV21 8bit
  • 只支持4k的图像格式:
    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

插件基类(factory)

mxpi_imagecrop

输入和输出

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

端口格式(caps)

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

属性

请参见表1

表1 mxpi_imagecrop插件的属性

属性名

描述

是否为必选项

是否可修改

deviceId

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

parentName

输入数据对应索引(通常情况下为上游元件名称)。功能与dataSource一致,建议使用dataSource,后续版本会删除。

请勿使用

dataSource

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

建议使用

dataSourceImage

设置抠图的图片数据源(通常情况下为上游某个元件名称)。

leftExpandRatio

向左扩边的比例,默认值为0,取值范围为[0, 1]。

rightExpandRatio

向右扩边的比例,默认值为0,取值范围为[0, 1]。

upExpandRatio

向上扩边的比例,默认值为0,取值范围为[0, 1]。

downExpandRatio

向下扩边的比例,默认值为0,取值范围为[0, 1]。

resizeHeight

Resizer_StretchResizer_KeepAspectRatio_Fit缩放模式中,缩放后的图像高度,默认为裁剪后的图像高度,即不缩放。

resizeWidth

Resizer_StretchResizer_KeepAspectRatio_Fit缩放模式中,缩放后的图像宽度,默认为裁剪后的图像宽度,即不缩放。

maxDimension

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

minDimension

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

resizeType

缩放方式:

  • Resizer_Stretch:拉伸缩放,默认缩放方式。
  • Resizer_KeepAspectRatio_FastRCNN:和FastRCNN缩放方式对应。
  • Resizer_KeepAspectRatio_Fit:等比缩放,使图片等比缩放至在指定宽高的区域内面积最大化。

RGBValue

设置padding颜色值,依次输入R,G,B值,默认为空即不执行padding颜色设置,使用DVPP默认背景色。

paddingType

设置padding方式,方式有两种:

  • Padding_No(默认)
  • Padding_RightDown
  • Padding_Around

cvProcessor

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

autoDetectFrame

默认从上游插件(一般为推理插件或分块插件)的输出中找到裁剪的坐标框,如需自定义裁剪的坐标框请关闭该属性,默认值为1, 可选值为0或1,0时需要提供坐标框。坐标框由(x0, y0),(x1, y1)两个坐标组成。

cropPointx0

抠图x0坐标,String类型,区间为[1, 8192],支持多目标框输入。

cropPointx1

抠图x1坐标,String类型,区间为[1, 8192],支持多目标框输入。

cropPointy0

抠图y0坐标,String类型,区间为[1, 8192],支持多目标框输入。

cropPointy1

抠图y1坐标,String类型,区间为[1, 8192],支持多目标框输入。

cropHeight

图片抠图的高度,范围是[1, 8192]。该插件若未接收到指定的合法抠图范围,默认值为0,则报错。(已废弃,请勿使用)

cropWidth

图片抠图的宽度,范围是[1, 8192]。该插件若未接收到指定的合法抠图范围,默认值为0,则报错。(已废弃,请勿使用)

handleMethod

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

处理方法:

  • ascend(默认)
  • opencv

cropType

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

抠图方式,根据坐标点抠图,默认为cropCoordinate坐标点抠图。

自定义裁剪样例:

  1. 当输入为单坐标框(x0, y0)为(1, 1),(x1, y1)为(100, 100)。
     "mxpi_imagecrop0": {
                "props" : {
                    "autoDetectFrame" : "0",
                    "cropPointx0" : "1",
                    "cropPointy0" : "1",
                    "cropPointx1" : "100",
                    "cropPointy1" : "100"
                },
                "factory": "mxpi_imagecrop",
                "next": "xxxxxxxx"
            },
  2. 当输入为多个坐标框,第一个目标框为(1, 1)(100, 100),第二个目标框为(100, 100)(200, 200)。
     "mxpi_imagecrop0": {
                "props" : {
                    "autoDetectFrame" : "0",
                    "cropPointx0" : "1, 100",
                    "cropPointy0" : "1, 100",
                    "cropPointx1" : "100, 200",
                    "cropPointy1" : "100, 200"
                },
                "factory": "mxpi_imagecrop",
                "next": "xxxxxxxx"
            },