RandomPerspective¶
- class paddle.vision.transforms. RandomPerspective ( prob=0.5, distortion_scale=0.5, interpolation='nearest', fill=0, keys=None ) [源代码] ¶
按照一定概率对图片进行透视变换。
参数¶
prob (float,可选) - 进行透视变换的概率,范围为 [0, 1] 。默认值: 0.5 。
distortion_scale (float,可选) - 图片失真程度的大小,范围为 [0, 1] 。默认值: 0.5 。
- interpolation (str,可选) - 插值的方法。
如果这个参数没有设定或者输入图像为单通道,则该参数会根据使用的后端,被设置为
PIL.Image.NEAREST
或者cv2.INTER_NEAREST
。 当使用pil
作为后端时, 支持的插值方法如下:
"nearest": Image.NEAREST
"bilinear": Image.BILINEAR
"bicubic": Image.BICUBIC
- 当使用
cv2
作为后端时, 支持的插值方法如下:
"nearest": cv2.INTER_NEAREST
"bilinear": cv2.INTER_LINEAR
"bicubic": cv2.INTER_CUBIC
fill (int|list|tuple,可选) - 对图像扩展时填充的值。默认值: 0 ,如果只设定一个数字则所有通道上像素值均为该值。
keys (list[str]|tuple[str],可选) - 与
BaseTransform
定义一致。默认值: None 。
形状¶
img (PIL.Image|np.ndarray|Paddle.Tensor) - 输入的图像数据,数据格式为 [H, W, C] 。
output (PIL.Image|np.ndarray|Paddle.Tensor) - 返回随机透视变换后的图像数据。
返回¶
计算
RandomPerspective
的可调用对象。
代码示例¶
>>> import paddle
>>> from paddle.vision.transforms import RandomPerspective
>>> transform = RandomPerspective(prob=1.0, distortion_scale=0.9)
>>> fake_img = paddle.randn((3, 200, 150)).astype(paddle.float32)
>>> fake_img = transform(fake_img)
>>> print(fake_img.shape)
[3, 200, 150]