图像旋转角度θ是通过以下形式的变换矩阵实现的:
OpenCV提供了函数cv.getRotationMatrix2D 获得图像绕着某一点的旋转矩阵
img = cv.imread('m5.jpg',0)
rows,cols = img.shape
# cols-1 和 rows-1 是坐标限制
M = cv.getRotationMatrix2D(((cols-1)/2.0,(rows-1)/2.0),90,1)
dst = cv.warpAffine(img,M,(cols,rows))
import cv2
import matplotlib.pyplot as plt
import numpy as np
image = cv2.imread("./images/lenacolor.png")
cv2.imshow("src",image)
(h,w) = image.shape[:2]
(cX,cY) = (w/2,h/2)
# (cX,cY)-旋转中心点
# 45-逆时针旋转45度
# 1.0-缩放
M = cv2.getRotationMatrix2D((cX,cY), 45, 1.0)
img1 = cv2.warpAffine(image, M, (w,h))
cv2.imshow("img1",img1)
M = cv2.getRotationMatrix2D((cX,cY), -45, 0.5)
img2 = cv2.warpAffine(image, M, (w,h))
cv2.imshow("img2",img2)
cv2.waitKey(0)
cv2.destroyAllWindows()