Python 與OpenCV 基本讀取、顯示與儲存圖片教學 | import cv2
這裡介紹如何使用Python與OpenCV讀取影像圖檔,以及將處理好的圖形寫入檔案。OpenCV讀取圖片首先引入NumPy與OpenCV的Python模組:importnumpyasnp importcv2OpenCV本身就有提供讀取圖片檔的函數可用,讀取一般的圖片檔,只要呼叫cv2.imread即可將圖片讀取進來: img=cv2.imread(image.jpg)以cv2.imread讀進來的資料,會儲存成一個NumPy的陣列,我們可以用type檢查一下: type(img)
這裡介紹如何使用 Python 與 OpenCV 讀取影像圖檔,以及將處理好的圖形寫入檔案。
OpenCV 讀取圖片首先引入 NumPy 與 OpenCV 的 Python 模組:
import numpy as np import cv2OpenCV 本身就有提供讀取圖片檔的函數可用,讀取一般的圖片檔,只要呼叫 cv2.imread 即可將圖片讀取進來:
img = cv2.imread(image.jpg)以 cv2.imread 讀進來的資料,會儲存成一個 NumPy 的陣列,我們可以用 type 檢查一下:
type(img) <class numpy.ndarray>此 NumPy 陣列的前兩個維度分別是圖片的高度與寬度,第三個維度則是圖片的 channel(RGB 彩色圖片的 channel 是 3,灰階圖片則為 1)。
以這個子來說,我們的原始圖片是一張 1920×1080 的彩色圖片,我們可以檢查一下這個 NumPy 陣列的大小:
img.shape (1080, 1920, 3) 圖檔格式OpenCV 的 cv2.imread 在讀取圖片時,可以在第二個參數指定圖片的格式,可用的選項有三種:
cv2.IMREAD_COLOR 此為預設值,這種格式會讀取 RGB 三個 channels 的彩色圖片,而忽略透明度的 channel。 cv2.IMREAD_GRAYSCALE 以灰階的格式來讀取圖片。 cv2.IMREAD_UNCHANGED 讀取圖片中所有的 channels,包含透明度的 channel。這是讀取灰階圖片的範例:
img_gray = cv2.imread(image.jpg, cv2.IMREAD_GRAYSCALE) 顯示圖片將圖片讀取進來之後,可以使用 OpenCV 所提供的 cv2.imshow 來顯示圖片:
cv2.imshow(My Image, img) cv2.waitKey(0) cv2.destroyAllWindows()這裡 c...