要在Python中使用OpenCV实现图像旋转,可以使用OpenCV中的getRotationMatrix2D
和warpAffine
函数。
getRotationMatrix2D
函数用于计算图像旋转的仿射变换矩阵,它接受三个参数:旋转中心点坐标、旋转角度和缩放因子。例如,要将图像顺时针旋转90度,可以使用以下代码获取旋转矩阵:
import cv2
img = cv2.imread('image.jpg')
rows, cols = img.shape[:2]
center = (cols / 2, rows / 2)
angle = 90
scale = 1.0
M = cv2.getRotationMatrix2D(center, angle, scale)
然后,可以使用warpAffine
函数对图像进行旋转。它接受三个参数:要旋转的图像、旋转矩阵和输出图像的大小。旋转矩阵可以通过getRotationMatrix2D
函数获取。例如,要将图像旋转90度并输出旋转后的图像,可以使用以下代码:
import cv2
img = cv2.imread('image.jpg')
rows, cols = img.shape[:2]
center = (cols / 2, rows / 2)
angle = 90
scale = 1.0
M = cv2.getRotationMatrix2D(center, angle, scale)
rotated_img = cv2.warpAffine(img, M, (cols, rows))
cv2.imwrite('rotated_image.jpg', rotated_img)
这将会将旋转后的图像保存为名为rotated_image.jpg
的文件。