OpenCV的imread
函數本身并不直接提供圖像旋轉的方法。但是,你可以使用OpenCV提供的其他函數來實現圖像的旋轉。以下是一些常用的圖像旋轉方法:
cv2.rotate()
函數:這個函數可以直接用于旋轉圖像。它接受兩個參數,一個是待旋轉的圖像,另一個是旋轉的中心點。你還可以指定旋轉的角度和縮放因子。例如,cv2.rotate(image, cv2.ROTATE_90_CLOCKWISE, scale=1.0)
可以將圖像順時針旋轉90度。cv2.warpAffine()
函數:這個函數可以用于更復雜的仿射變換,包括旋轉。它接受一個3x3的變換矩陣作為參數。你可以使用cv2.getRotationMatrix2D()
函數來生成這個變換矩陣。例如,cv2.getRotationMatrix2D((cx, cy), angle, scale)
可以生成一個以(cx, cy)
為中心點,旋轉角度為angle
,縮放因子為scale
的變換矩陣。然后,你可以將這個變換矩陣傳遞給cv2.warpAffine()
函數來旋轉圖像。請注意,以上兩種方法都會創建一個新的圖像,而不會修改原始圖像。如果你希望直接修改原始圖像,可以使用cv2.copyMakeBorder()
函數來擴展圖像的尺寸,然后使用上述方法進行旋轉。最后,使用cv2.resize()
函數將圖像縮小回原始尺寸。
另外,如果你需要旋轉的圖像較大或者對性能有較高要求,可能需要考慮使用其他的庫或者方法,例如使用CUDA加速的OpenCV版本或者使用GPU進行圖像處理。