nvidia.dali.fn.experimental.warp_perspective#
- nvidia.dali.fn.experimental.warp_perspective(__input, __matrix_gpu=None, /, *, border_mode='constant', bytes_per_sample_hint=[0], fill_value=[], interp_type=DALIInterpType.INTERP_LINEAR, inverse_map=True, matrix=[], pixel_origin='corner', preserve=False, size=[], device=None, name=None)#
对图像执行透视变换。
- 支持的后端
‘gpu’
- 参数:
- 关键字参数:
border_mode¶ (str, optional, default = ‘constant’) – 边界模式,用于访问输入图像外部的元素。支持的值有:“constant”、“replicate”、“reflect”、“reflect_101”、“wrap”。
bytes_per_sample_hint¶ (int or list of int, optional, default = [0]) –
输出大小提示,以每样本字节数为单位。
如果指定,则运算符位于 GPU 或分页锁定主机内存中的输出将被预先分配,以适应此大小的样本批次。
fill_value¶ (float or list of float, optional, default = []) – 当选择“constant” border_mode 时,用于填充源图像外部区域的值。
interp_type¶ (
nvidia.dali.types.DALIInterpType
, optional, default = DALIInterpType.INTERP_LINEAR) – 使用的插值类型。inverse_map¶ (bool, optional, default = True) – 如果设置为 true(默认值),则矩阵被解释为目标到源坐标的映射。否则,它被解释为源到目标坐标的映射。
matrix¶ (float or list of float or TensorList of float, optional, default = []) –
- 目标到源坐标的透视变换映射。
如果
inverse_map
参数设置为 false,则矩阵被解释为源到目标坐标的映射。
它等效于 OpenCV 的
warpPerspective
操作,其中inverse_map
参数类似于WARP_INVERSE_MAP
标志。注意
除了此参数之外,运算符还可以接受第二个位置输入,在这种情况下,矩阵可以放置在 GPU 上。
支持
per-frame
输入。pixel_origin¶ (str, optional, default = ‘corner’) –
像素原点。可能的值:“corner”、“center”。
确定 (0, 0) 坐标的含义 - “corner” 将原点放置在左上角像素的左上角(如 OpenGL 中);“center” 将 (0, 0) 放置在左上角像素的中心(如 OpenCV 中)。
preserve¶ (bool, optional, default = False) – 阻止运算符从图中删除,即使其输出未使用。
size¶ (float or list of float or TensorList of float, optional, default = []) –
输出大小,以像素/点为单位。
应排除通道维度(例如,对于 RGB 图像,指定
(480,640)
,而不是(480,640,3)
)。