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