旋转
OpenCV的cv2.getRotationMatrix2D()函数可用于计算执行旋转操作的转换矩阵,其基本格式如下。
m = cv2.getRotationMatrix2D(center, angle, scale)
参数说明如下。
center表示原图像中作为旋转中心的坐标。
angle表示旋转角度,正数表示按逆时针方向旋转,负数表示按顺时针方向旋转。
scale表示目标图像与原图像的大小比例。
假设原图像宽度为width,高度为height,将图像中心作为旋转中心顺时针旋转60°,并将图像缩小50%,则用于计算转换矩阵的语句如下。
m = cv2.getRotationMatrix2D((width/2,height/2), -60, 0.5)
示例代码如下。
test4-9.py:图像旋转
import cv2
img=cv2.imread('bee.jpg') #读取图像
cv2.imshow('img',img) #显示图像
height=img.shape[0] #获得图像高度
width=img.shape[1] #获得图像宽度
dsize=(width,height)
m=cv2.getRotationMatrix2D((width/2,height/2),-60,0.5) #创建转换矩阵
img2=cv2.warpAffine(img,m,dsize) #执行旋转
cv2.imshow('imgRotation',img2) #显示图像
cv2.waitKey(0)