OpenCV 影像讀取與顯示
Posted On 2021 年 9 月 12 日
前一篇提過了如何使用 Webcam ,串流顯示影像。本篇來敘述如何從檔案讀入圖片並顯示,只需要簡單幾行的程式碼而已。
先透過 OpenCV 的 imread 把圖片讀進來,再透過 imshow 顯示圖片。
imread 有兩個參數,第一個參數是要讀取的圖片地址,第二個參數是圖片的型態,黑白的、彩色的等等, -1 代表使用圖片原本的格式讀進來, 0 代表讀入黑白 (Gray) 的影像 , 1 代表讀入彩色的影像 等等。
在顯示的時候記得加上 waitKey() 不然影像是無法顯示的。 可以參考這篇文章 : OpenCV 影像無法顯示 (python)
有一個特別的地方需要注意是, OpenCV 在讀入彩色影像時,顏色的順序跟別人不太一樣,我們直覺上會覺得影像的順序是 RGB,但 OpenCV 的順序是 BGR,所以第 0 個 channel 是藍色, 第 1 個 channel 是綠色,第 2 個 channel 是紅色。
import cv2 img = cv2.imread('./DSC04082.JPG') cv2.imshow('Show',img) cv2.waitKey() cv2.destroyAllWindows()
OpenCV 讀入影像後,皆是採用 numpy 的格式儲存,所以可以使用 numpy 相關的函數,直接進行操作。