nvidia.dali.fn.warp_affine#

nvidia.dali.fn.warp_affine(__data, __mtx=None, /, *, bytes_per_sample_hint=[0], dtype=None, fill_value=None, interp_type=DALIInterpType.INTERP_LINEAR, inverse_map=True, matrix=[], preserve=False, size=[], device=None, name=None)#

对图像应用仿射变换。

此操作符支持体积数据。

支持的后端
  • ‘cpu’

  • ‘gpu’

参数:
  • __data (TensorList ('HWC', 'FHWC', 'DHWC', 'FDHWC')) – 要扭曲的图像或体积

  • __mtx (floatTensorList, 可选) – 类似于 matrix 参数,但可以放置在 GPU 内存中

关键字参数:
  • bytes_per_sample_hint (int 或 int 列表, 可选, 默认值 = [0]) –

    每个样本的输出大小提示,以字节为单位。

    如果指定,则将预先分配驻留在 GPU 或页锁定主机内存中的操作符输出,以容纳此大小的样本批次。

  • dtype (nvidia.dali.types.DALIDataType, 可选) –

    输出数据类型。

    如果未设置,则使用输入类型。

  • fill_value (float, 可选) –

    用于填充源图像外部区域的值。

    如果未指定值,则源坐标将被钳制,并且边框像素将被重复。

  • interp_type (nvidia.dali.types.DALIInterpType, 可选, 默认值 = DALIInterpType.INTERP_LINEAR) – 使用的插值类型。

  • inverse_map (bool, 可选, 默认值 = True) – 如果给定的变换是目标到源的映射,则设置为 False,否则设置为 True

  • matrix (float 或 float 列表 或 float 的 TensorList, 可选, 默认值 = []) –

    变换矩阵。

    inverse_map 选项设置为 true(默认值)时,该矩阵表示目标到源的映射。 使用值列表 (M11, M12, M13, M21, M22, M23),此操作通过使用以下公式生成新图像

    dst(x,y) = src(M11 * x + M12 * y + M13, M21 * x + M22 * y + M23)
    

    其中 [0, 0] 坐标表示第一个像素的角。

    如果 inverse_map 选项设置为 false,则该矩阵表示源到目标的变换,并在应用上述公式之前将其反转。

    它等效于 OpenCV 的 warpAffine 操作,其中 inverse_map 参数类似于 WARP_INVERSE_MAP 标志。

    注意

    除了此参数外,操作符还可以接受第二个位置输入,在这种情况下,矩阵可以放置在 GPU 上。

    支持 per-frame 输入。

  • output_dtype (nvidia.dali.types.DALIDataType) –

    警告

    参数 output_dtypedtype 的已弃用别名。 请改用 dtype

  • preserve (bool, 可选, 默认值 = False) – 阻止操作符从图中删除,即使其输出未使用。

  • size (float 或 float 列表 或 float 的 TensorList, 可选, 默认值 = []) –

    输出大小,以像素/点为单位。

    非整数大小将四舍五入到最接近的整数。 通道维度应排除在外(例如,对于 RGB 图像,指定 (480,640),而不是 (480,640,3)