OpenCV:圖片的基本操作,讀取、儲存和顯示!

- OpenCV
目錄
在一開始,我們先來了解 OpenCV 的基本操作
包含著讀取、儲存、和顯示
這都是常用到的技巧
安裝
首先用 pip 安裝 OpenCV
pip3 install opencv-python
這樣就安裝好了,是不是很簡單啊 ~
讀取圖片
使用時我們要先引入 opencv,所以要添加 import cv2
接著使用 imread
來讀取圖片
import cv2
im = cv2.imread('img.jpg')
儲存圖片
儲存時將我們圖片使用 imwrite
存成檔案
import cv2
im = cv2.imread('img.jpg')
cv2.imwrite('new_img.jpg', im)
顯示圖片
顯示圖片時我們可以使用 imshow
來彈出圖片顯示視窗
接著可以使用 waitKey
來等待使用者按下任意按鍵
如果不等待的話,程式就會繼續執行,等到程式執行完後,視窗會馬上被關閉
視窗只會出現一瞬間,你什麼都還看不清楚就被關掉了,因此要用 waitKey
來延長時間
waitKey
傳入的參數為等待的時間,單位為毫秒,如果設為 0 則為無限
使用者按下的按鍵後,我們可以依照使用者按下的按鍵做相對應的動作
例如以下範例就是當使用者按下 s 時,就儲存圖片
import cv2
im = cv2.imread('img.jpg')
cv2.imshow('Display window', im)
k = cv2.waitKey(0)
if k == ord('s'):
cv2.imwrite('new_img.jpg', im)
除了用 opencv 內建的來顯示圖片外,我們也可以用 matplotlib 來顯示圖片
一樣要先用 pip 安裝
pip3 install matplotlib
接著由於 opencv 的格式為 BGR 也就是先是藍色 (Blue)、綠色 (Green)、最後是紅色 (Red)
但由於 matplotlib 使用的是 RGB,因此要先轉換顏色順序
我們使用 cvtColor
來轉換顏色的順序,從 BGR 轉成 RGB
否則就會出現下圖的狀況:

原圖

錯誤的格式
最後使用 imshow
和 show
來顯示圖片
import cv2
import matplotlib.pyplot as plt
im = cv2.imread('img.jpg')
im_rgb = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)
imgplot = plt.imshow(im_rgb)
plt.show()
Reference
如果你覺得這篇文章有用 可以考慮贊助飲料給大貓咪