admin 管理员组

文章数量: 1184232

仿射变换(Affine Transformation)

仿射变换是一种二维坐标变换,它保持了图像中直线的直线性,即变换前后的直线仍然保持为直线。仿射变换可以通过一个线性变换矩阵和一个平移向量来描述

切变

透视变换(Perspective Transformation)

透视变换是一种更为复杂的图像变换,它可以模拟相机的透视效果,即物体随距离增加而变小的视觉效果。透视变换通过一个3x3的变换矩阵来实现

代码实现

def random_perspective(
    im, targets=(), segments=(), degrees=10, translate=0.1, scale=0.1, shear=10, perspective=0.0, border=(0, 0)
):
    # torchvision.transforms.RandomAffine(degrees=(-10, 10), translate=(0.1, 0.1), scale=(0.9, 1.1), shear=(-10, 10))
    # targets = [cls, xyxy]

    height = im.shape[0] + border[0] * 2  # shape(h,w,c)
    width = im.shape[1] + border[1] * 2

    # Center
    C = np.eye(3)
    C[0, 2] = -im.shape[1] 

本文标签: 透视 数据 Yolo Affine perspective