1.前言:
对一个图像旋转角度θ,需要使用到下面形式的旋转矩阵。
在opencv中,允许你在任意地方进行旋转,因此旋转矩阵可修改如下:
其中:
为了构建这个旋转矩阵M,opencv提供了函数:cv2.getRotationMatrix2D.
2.代码实现:
import cv2
import numpy as np
img = cv2.imread('McGrady.jpg')
rows,cols = img.shape[:2]
M = cv2.getRotationMatrix2D((cols/2,rows/2),45,0.5) #参数:旋转中心,旋转角度,旋转后的缩放因子
dst = cv2.warpAffine(img,M,(cols,rows)) #参数:输入图像,旋转矩阵,图像尺寸大小
cv2.imshow('img',dst)
k = cv2.waitKey(0)
if k == 27:
cv2.destroyAllWindows()
结果: