分類: 程式設計

Python 與 OpenCV 裁切圖片教學

本篇介紹如何使用 Python 的 OpenCV 模組裁切圖片,取出部份的區域另存成新圖檔。

OpenCV 是一個普遍被使用影像處理函式庫,以下介紹如何裁切 OpenCV 的圖片,擷取圖片中部份的區域,顯示在螢幕上或是儲存為圖檔。

OpenCV 裁切圖片

我們拿這張萊娜圖作為範例,示範如何裁切 OpenCV 的圖片。

萊娜圖

首先按照普通的方式,將圖片用 OpenCV 的 imread 函數讀取進來:

import cv2

# 讀取圖檔
img = cv2.imread("lena.jpg")

這裡用 OpenCV 讀取進來的圖片 img 其實就是 NumPy 的陣列,如果想要對圖片進行裁切,就用索引的方式,將指定的區域取出即可:

# 裁切區域的 x 與 y 座標(左上角)
x = 100
y = 100

# 裁切區域的長度與寬度
w = 250
h = 150

# 裁切圖片
crop_img = img[y:y+h, x:x+w]

接著使用 OpenCV 的 imshow 顯示裁切的結果:

# 顯示圖片
cv2.imshow("cropped", crop_img)
cv2.waitKey(0)

執行的結果如下:

圖片裁切結果

儲存 OpenCV 圖片

若要將裁切的圖片儲存下來,可使用 imwrite 函數:

# 寫入圖檔
cv2.imwrite('crop.jpg', crop_img)

這樣就可以將 crop_img 這個裁切好的圖片儲存至 crop.jpg 檔案中了。

關於 OpenCV 基本的圖檔讀取與儲存,可以參考 Python 與 OpenCV 基本讀取、顯示與儲存圖片教學

參考資料:StackOverflow

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang
標籤: OpenCVPython

Recent Posts

光陽 KYMCO GP 125 機車接電發動、更換電瓶記錄

本篇記錄我的光陽 KYMCO ...

2 年 ago

[開箱] YubiKey 5C NFC 實體金鑰

本篇是 YubiKey 5C ...

3 年 ago

[DIY] 自製竹火把

本篇記錄我拿竹子加上過期的苦茶...

3 年 ago