要在Python中使用OpenCV實現(xiàn)圖像旋轉(zhuǎn),可以使用OpenCV中的getRotationMatrix2D
和warpAffine
函數(shù)。
getRotationMatrix2D
函數(shù)用于計算圖像旋轉(zhuǎn)的仿射變換矩陣,它接受三個參數(shù):旋轉(zhuǎn)中心點(diǎn)坐標(biāo)、旋轉(zhuǎn)角度和縮放因子。例如,要將圖像順時針旋轉(zhuǎn)90度,可以使用以下代碼獲取旋轉(zhuǎn)矩陣:
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
函數(shù)對圖像進(jìn)行旋轉(zhuǎn)。它接受三個參數(shù):要旋轉(zhuǎn)的圖像、旋轉(zhuǎn)矩陣和輸出圖像的大小。旋轉(zhuǎn)矩陣可以通過getRotationMatrix2D
函數(shù)獲取。例如,要將圖像旋轉(zhuǎn)90度并輸出旋轉(zhuǎn)后的圖像,可以使用以下代碼:
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)
這將會將旋轉(zhuǎn)后的圖像保存為名為rotated_image.jpg
的文件。