文档反馈

问题文档片段

问题文档片段包含公式时,显示为空格。

提交类型
issue

有点复杂...

找人问问吧。

请选择提交类型

问题类型
规范和低错类

- 规范和低错类:

- 错别字或拼写错误,标点符号使用错误、公式错误或显示异常。

- 链接错误、空单元格、格式错误。

- 英文中包含中文字符。

- 界面和描述不一致,但不影响操作。

- 表述不通顺,但不影响理解。

- 版本号不匹配:如软件包名称、界面版本号。

易用性

- 易用性:

- 关键步骤错误或缺失,无法指导用户完成任务。

- 缺少主要功能描述、关键词解释、必要前提条件、注意事项等。

- 描述内容存在歧义指代不明、上下文矛盾。

- 逻辑不清晰,该分类、分项、分步骤的没有给出。

正确性

- 正确性:

- 技术原理、功能、支持平台、参数类型、异常报错等描述和软件实现不一致。

- 原理图、架构图等存在错误。

- 命令、命令参数等错误。

- 代码片段错误。

- 命令无法完成对应功能。

- 界面错误,无法指导操作。

- 代码样例运行报错、运行结果不符。

风险提示

- 风险提示:

- 对重要数据或系统存在风险的操作,缺少安全提示。

内容合规

- 内容合规:

- 违反法律法规,涉及政治、领土主权等敏感词。

- 内容侵权。

请选择问题类型

问题描述

点击输入详细问题描述,以帮助我们快速定位问题。

mindspore.ops.crop_and_resize

mindspore.ops.crop_and_resize(image, boxes, box_indices, crop_size, method='bilinear', extrapolation_value=0.0)[源代码]

对输入图像Tensor进行裁剪并调整其大小。

说明

当输出的shape依赖 crop_size 的时候,crop_size 必须为常量。 当前该算子的反向仅支持”bilinear”模式,其他模式将会返回0。

参数:
  • image (Tensor) - shape为 (batch,image_height,image_width,depth) 的图像Tensor。

  • boxes (Tensor) - shape为 (num_boxes,4) 的二维Tensor,表示归一化的边框坐标,坐标格式为 [y1,x1,y2,x2] 。其中 (y1,x1) 为第一个角点, (y2,x2) 为第二个角点。如果 y1>y2 ,就是对图像进行的上下翻转,当 x1>x2 ,宽度方向操作类似。如果归一化的坐标值超出 [0,1] 的区间,采用 extrapolation_value 进行填充。数据类型:float32。

  • box_indices (Tensor) - shape为 (num_boxes) 的一维Tensor,表示每个方框的索引。数据类型:int32。

  • crop_size (Tuple[int]) - 2元组(crop_height, crop_width),指定对裁剪出的图像进行调整时的输出大小,元素均为正值。数据类型:int32。

  • method (str,可选) - 指定调整大小时的采样方法,取值为 "bilinear""nearest""bilinear_v2" ,其中, "bilinear" 是标准的线性插值算法,而在某些情况下, "bilinear_v2" 可能会得到更优的效果。 "nearest" 是最邻近插值算法。默认值: "bilinear"

  • extrapolation_value (float,可选) - 指定外插时的浮点值。默认值: 0.0

返回:

Tensor,shape为 (num_boxes,crop_height,crop_width,depth) ,数据类型:float32 。

异常:
  • TypeError - imageboxesbox_indices 不是Tensor。

  • TypeError - crop_size 不是元素类型为int32的tuple,或 crop_size 的长度不为2。

  • TypeError - boxes 的数据类型不是float,或 box_indices 的数据类型不是int32。

  • TypeError - method 不是字符串。

  • TypeError - extrapolation_value 不是浮点值。

  • ValueError - image 的维度不是四维。

  • ValueError - boxes 的维度不是二维。

  • ValueError - boxes 的第二维不是4。

  • ValueError - box_indices 的维度不是一维。

  • ValueError - box_indices 的第一维与 boxes 的第一维不相等。

  • ValueError - box_indices 存在元素不在 [0, batch) 的范围内。

  • ValueError - crop_size 的数据不是正整数。

  • ValueError - method 不是 “bilinear”、”nearest”、”bilinear_v2”之一。

支持平台:

Ascend GPU CPU

样例:

>>> import numpy as np
>>> from mindspore import ops, Tensor
>>> BATCH_SIZE = 1
>>> NUM_BOXES = 5
>>> IMAGE_HEIGHT = 256
>>> IMAGE_WIDTH = 256
>>> CHANNELS = 3
>>> image = np.random.normal(size=[BATCH_SIZE, IMAGE_HEIGHT, IMAGE_WIDTH, CHANNELS]).astype(np.float32)
>>> boxes = np.random.uniform(size=[NUM_BOXES, 4]).astype(np.float32)
>>> box_indices = np.random.uniform(size=[NUM_BOXES], low=0, high=BATCH_SIZE).astype(np.int32)
>>> crop_size = (24, 24)
>>> output = ops.crop_and_resize(Tensor(image), Tensor(boxes), Tensor(box_indices), crop_size)
>>> print(output.shape)
 (5, 24, 24, 3)