简介:在OpenCV中,可以使用多种方法来旋转图像。本文将介绍两种常用的方法:使用flip函数和rotate函数。同时,还将介绍一种可以旋转任意角度的方法,即仿射变换。
在OpenCV中,图像旋转是一个常见的操作。下面将介绍两种常用的方法:使用flip函数和rotate函数。
需要注意的是,使用flip函数只能进行90度、180度和270度的旋转。
import cv2src = cv2.imread('image.jpg')dst = cv2.flip(src, 0) # 0表示上下翻转,1表示左右翻转,-1表示旋转180度对角线翻转
和flip函数一样,使用rotate函数也只能进行90度、180度和270度的旋转。
import cv2src = cv2.imread('image.jpg')dst = cv2.rotate(src, cv2.ROTATE_90_CLOCKWISE) # ROTATE_90_CLOCKWISE表示顺时针旋转90度,ROTATE_180表示旋转180度,ROTATE_90_COUNTERCLOCKWISE表示逆时针旋转90度
需要注意的是,在进行图像旋转后,图像的中心位置可能会发生偏移,需要进行调整。同时,调整完旋转后图像的大小也需要重新计算。
import cv2import numpy as npsrc = cv2.imread('image.jpg')rows, cols, channels = src.shapeangle = 30 # 旋转角度为30度M = cv2.getRotationMatrix2D((cols / 2, rows / 2), angle, 1) # 获取旋转矩阵Mdst = cv2.warpAffine(src, M, (cols, rows)) # 进行仿射变换得到旋转后的图像dst