OpenCV 图像旋转
生活随笔
收集整理的這篇文章主要介紹了
OpenCV 图像旋转
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在OpenCV中圖像旋轉首先根據旋轉角度和旋轉中心獲取旋轉矩陣,然后根據旋轉矩陣進行變換,即可實現任意角度和任意中心的旋轉效果。
cv2.getRotationMatrix2D(center, angle, scale)- center:旋轉中心
- angle:旋轉角度
- scale:縮放比例
M:旋轉矩陣
調用cv.warpAffine完成圖像的旋轉
import cv2 as cv import matplotlib.pyplot as plt# 1 讀取圖像 img = cv.imread("1.png")# 2 圖像旋轉 rows, cols = img.shape[:2]# 2.1 生成旋轉矩陣 M = cv.getRotationMatrix2D((cols/2, rows/2), 90, 1) # 以圖形的正中心作為旋轉中心,旋轉90°# 2.2 進行旋轉變換 dst1 = cv.warpAffine(img, M, (cols, rows))M = cv.getRotationMatrix2D((cols/2, rows/2), 45, 0.5) # 旋轉45°,縮小為原圖的二分之一 dst2 = cv.warpAffine(img, M, (cols, rows)) # 調用warpAffine()函數完成圖片旋轉# 3 圖像展示 fig,axes=plt.subplots(nrows=1, ncols=3, figsize=(10, 8), dpi=100) axes[0].imshow(img[:, :, ::-1]) axes[0].set_title("原圖") axes[1].imshow(dst1[:, :, ::-1]) axes[1].set_title("旋轉后90°結果") axes[2].imshow(dst2[:, :, ::-1]) axes[2].set_title("旋轉后45°結果") plt.show()總結
以上是生活随笔為你收集整理的OpenCV 图像旋转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenCV 图像平移
- 下一篇: OpenCV 仿射变换