要在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
的文件。