在計算機視覺領域中,圖像處理是重要的一部分,而將彩色圖像轉換為灰度圖像是很常見的圖像處理操作之一。在Python中,我們就可以很方便地進行圖像灰度化操作。
首先,我們需要導入一些庫,其中OpenCV是處理圖像的主要庫,而Matplotlib則可以將結果可視化。
import cv2 import matplotlib.pyplot as plt
接著,我們讀入一張彩色圖像。
img = cv2.imread('lena.jpg')
在OpenCV中,顏色通道排列方式是BGR(藍、綠、紅),而不是常見的RGB(紅、綠、藍),我們需要將其轉換為RGB通道排列。
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
現在,我們可以將圖像顯示出來,看一看原圖的樣子。
plt.imshow(img) plt.show()
接下來,我們將圖像灰度化,這可以通過將三個顏色通道的像素值取平均值來實現。
gray_img = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
現在,我們再將灰度化后的圖像顯示出來,比較一下和原圖的區別。
plt.imshow(gray_img, cmap='gray') plt.show()
可以看到,我們已經得到了一張灰度化的圖像。需要注意的是,使用cmap參數設置為'gray'可以使圖像用灰度色彩顯
示,而不是默認的彩色顯示。
總的來說,在Python中實現圖像灰度化非常簡單,只需要使用OpenCV庫進行顏色通道轉換即可。一旦我們擁有了處理
過的灰度圖像,就可以在接下來的圖像處理操作中使用它。