目錄

廣告 AD

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

- OpenCV

在一開始,我們先來了解 OpenCV 的基本操作

包含著讀取、儲存、和顯示

這都是常用到的技巧

廣告 AD

首先用 pip 安裝 OpenCV

shell

pip3 install opencv-python 

這樣就安裝好了,是不是很簡單啊 ~


使用時我們要先引入 opencv,所以要添加 import cv2

接著使用 imread 來讀取圖片

python

import cv2

im = cv2.imread('img.jpg')

儲存時將我們圖片使用 imwrite 存成檔案

python

import cv2

im = cv2.imread('img.jpg')
cv2.imwrite('new_img.jpg', im)

顯示圖片時我們可以使用 imshow 來彈出圖片顯示視窗

接著可以使用 waitKey 來等待使用者按下任意按鍵

如果不等待的話,程式就會繼續執行,等到程式執行完後,視窗會馬上被關閉

視窗只會出現一瞬間,你什麼都還看不清楚就被關掉了,因此要用 waitKey 來延長時間

waitKey 傳入的參數為等待的時間,單位為毫秒,如果設為 0 則為無限

使用者按下的按鍵後,我們可以依照使用者按下的按鍵做相對應的動作

例如以下範例就是當使用者按下 s 時,就儲存圖片

python

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 安裝

shell

pip3 install matplotlib

接著由於 opencv 的格式為 BGR 也就是先是藍色 (Blue)、綠色 (Green)、最後是紅色 (Red)

但由於 matplotlib 使用的是 RGB,因此要先轉換顏色順序

我們使用 cvtColor 來轉換顏色的順序,從 BGR 轉成 RGB

否則就會出現下圖的狀況:

原圖

錯誤的格式


最後使用 imshowshow 來顯示圖片

python

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()

廣告 AD