學習PythonOpenCV影像操作:平移、縮放、旋轉

學習PythonOpenCV影像操作:平移、縮放、旋轉

Python OpenCV 影像操作:平移、縮放、旋轉

Python OpenCV 是一個功能強大的影像處理函式庫,它可以讓開發者輕鬆地對影像進行處理,包括影像的平移、縮放、旋轉等操作。本文將介紹如何使用 Python OpenCV 對影像進行平移、縮放、旋轉等操作。

什麼是 OpenCV

OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺函式庫,它可以讓開發者輕鬆地對影像進行處理,包括影像的平移、縮放、旋轉等操作。OpenCV 提供了豐富的影像處理函式,可以讓開發者快速開發出影像處理的應用程式。

OpenCV 支援多種程式語言,包括 C、C++、Python 等,本文將介紹如何使用 Python OpenCV 對影像進行平移、縮放、旋轉等操作。

安裝 OpenCV

在開始使用 OpenCV 之前,我們需要先安裝 OpenCV,安裝方式可以參考官方文件

平移

平移是指將影像往某個方向移動,可以使用 OpenCV 的 cv2.warpAffine 函式對影像進行平移操作。

首先,我們需要定義一個 2×3 的轉換矩陣,其中第一行為 x 軸的轉換參數,第二行為 y 軸的轉換參數,第三行為平移參數,例如:

M = np.float32([[1, 0, 100], [0, 1, 50]])

上面的矩陣表示將影像往右移動 100 像素,往下移動 50 像素。

接著,我們可以使用 cv2.warpAffine 函式對影像進行平移操作:

dst = cv2.warpAffine(img, M, (cols, rows))

其中,img 為輸入影像,M 為轉換矩陣,(cols, rows) 為輸出影像的大小。

縮放

縮放是指將影像放大或縮小,可以使用 OpenCV 的 cv2.resize 函式對影像進行縮放操作。

cv2.resize 函式接受兩個參數,第一個參數為輸入影像,第二個參數為輸出影像的大小,例如:

dst = cv2.resize(img, (200, 200))

上面的程式碼表示將輸入影像縮放為 200×200 的大小。

旋轉

旋轉是指將影像旋轉指定的角度,可以使用 OpenCV 的 cv2.getRotationMatrix2Dcv2.warpAffine 函式對影像進行旋轉操作。

首先,我們需要使用 cv2.getRotationMatrix2D 函式計算旋轉矩陣,該函式接受三個參數,第一個參數為旋轉中心,第二個參數為旋轉角度,第三個參數為縮放比例,例如:

M = cv2.getRotationMatrix2D((cols/2, rows/2), 90, 1)

上面的程式碼表示將影像旋轉 90 度,並且不進行縮放。

接著,我們可以使用 cv2.warpAffine 函式對影像進行旋轉操作:

dst = cv2.warpAffine(img, M, (cols, rows))

其中,img 為輸入影像,M 為旋轉矩陣,(cols, rows) 為輸出影像的大小。

總結

本文介紹了如何使用 Python OpenCV 對影像進行平移、縮放、旋轉等操作,OpenCV 提供了豐富的影像處理函式,可以讓開發者快速開發出影像處理的應用程式。

推薦閱讀文章

推薦閱讀文章

OpenCV 和 Python 正確旋轉影像
使用 OpenCV 和 Python 計算影像色彩度
使用 Keras 來構建 ImageNet、VGGNet、ResNet、Inception 和 Xception 網絡
深度學習:OpenCV 的 blobFromImage 功能
使用 Tesseract OCR 和 Python</a

延伸閱讀本站文章

更多Python相關文章

發佈留言