平移是物体位置的移动。
创建转换矩阵M
位移设为(tx,ty)
把数据放入放入np.float32类型的Numpy数组中。使用cv.warpAffine函数完成平移
代码实现
import numpy as np
import cv2 as cv
img = cv.imread('m5.jpg',0)
rows,cols = img.shape
M = np.float32([[1,0,100],[0,1,50]])
dst = cv.warpAffine(img,M,(cols,rows))
cv.imshow('img',dst)
cv.waitKey(0)
cv.destroyAllWindows()
cv.warpAffine函数的第三个参数是输出图像的大小,其形式应为(width,height)。记住width =列数,height =行数。
彩色图片
import cv2
import matplotlib.pyplot as plt
import numpy as np
img=cv2.imread("images/hxm.jpg")
rows,cols=img.shape[0],img.shape[1]
# M = np.float ([[1,0,100],[0,1,50]]) # 必须是foat32
M = np.float32([[1,0,100],[0,1,50]])
dst=cv2.warpAffine(img,M,(cols,rows))
cv2.imshow('img',dst)
M = np.float32([[1,0,-100],[0,1,-50]])
dst=cv2.warpAffine(img,M,(cols,rows))
cv2.imshow('img2',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()