图像平移将图像安装指定方向和距离,移动到相应的位置。
cv.warpAffine(img, M, dsize)
-
img:输入图像
-
M: 2*3移动矩阵
注意:将M设置为np.float32类型的Numpy数组。
-
dsize:输出图像的大小
注意:输出图像的大小,它应该是(宽度,高度)的形式。width=列数,height=行数。
import cv2 as cv
import matplotlib.pyplot as plt
import numpy as np
# 1.读取图像
img1 = cv.imread("1.png")
# 2.图像平移
rows, cols = img1.shape[:2]
M = np.float32([[1, 0, 100], [0, 1, 50]]) # 平移矩阵
dst1 = cv.warpAffine(img1, M, (cols, rows)) # 向右平移100,向下平移50
dst2 = cv.warpAffine(img1, M, (cols * 2, rows * 2)) # 向右平移100,向下平移50,画布大小乘以2
# 3. 图像显示
fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(10, 8), dpi=100)
axes[0].imshow(img1[:, :, ::-1])
axes[0].set_title("原图")
axes[1].imshow(dst1[:, :, ::-1])
axes[1].set_title("平移后结果")
axes[2].imshow(dst2[:, :, ::-1])
axes[2].set_title("放大画布")
plt.show()