目錄

廣告 AD

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

- OpenCV

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

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

這都是常用到的技巧

廣告 AD

首先用 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

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

原圖

錯誤的格式


最後使用 imshowshow 來顯示圖片

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