阅读量:0
要在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
的文件。