5.3 仿射变换:平移
一、仿射变换opencv使用仿射函数实现平移、旋转等。
dst = cv2.warpAffine(src, M, dsize, flags, borderMode, borderValue ])
dst:输出图像。 M是一个2*3的变换矩阵。使用不同的变换矩阵,就可以实现不同的仿射变换。 dsize: 输出图像的尺寸。 flags:插值方法,默认为INTER_LINEAR。
borderMode: 边类型,默认为BORDER_CONSTANT borderValue:边界值,默认为0
具体的变换为: M = [[M11, M12, M13] [M21, M22, M23]]
x = M11*x + M12*y + M13 y = M21*x + M22*y + M23
二、平移变换要实现:x = x + a , y = y + b 所以,变换矩阵为: [[1, 0, a] [0, 1, b]]
代码:
结果:
因为图像大小不变,所以原图片下方和右方的部分就丢失了。
例2: 如果还想要看到的话,可以让输出图像的尺寸大一些。
|