图像的旋转和图像的平移非常相似,也是使用 cv2.warpAffine
来实现的。其中的转换矩阵,需要先通过 cv2.getRotationMatrix2D
函数得到,它的函数原型是
cv2.getRotationMatrix2D(center, angle, scale)
其中
center
旋转中心点坐标angle
旋转的角度,单位是角度,正数代表逆时针方向,负数代表顺时针方向scale
缩放倍数
该函数返回的就是仿射变换矩阵M,之后我们将这个仿射变换的矩阵传入到下一个函数:
示例
import cv2
import numpy as np
image = cv2.imread("lenna.png")
cv2.imshow("original image", image)
column, row, channel = image.shape
M = cv2.getRotationMatrix2D((column/2,row/2), 45, 1)
dst = cv2.warpAffine(image, M, (column, row))
cv2.imshow('dst', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()