https://www.jianshu.com/p/02064982f9f9
彩色圖像中的每個像素的顏色有R、G、B三個分量決定,而每個分量有255中值可取,這樣一個像素點可以有1600多萬(255255255)的顏色的變化范圍。而灰度圖像是R、G、B三個分量相同的一種特殊的彩色圖像,其一個像素點的變化范圍為255種,所以在數字圖像處理種一般先將各種格式的圖像轉變成灰度圖像以使后續的圖像的計算量變得少一些。灰度圖像的描述與彩色圖像一樣仍然反映了整幅圖像的整體和局部的色度和亮度等級的分布和特征。
- 對圖片的灰度化處理主要有下面三種方法,我們用一個簡單的例子介紹下
%matplotlib inline
使用%matplotlib命令可以將matplotlib的圖表直接嵌入到Notebook之中,或者使用指定的界面庫顯示圖表,它有一個參數指定matplotlib圖表的顯示方式。inline表示將圖表嵌入到Notebook中。
import matplotlib.pyplot as plt %matplotlib inline #使用%matplotlib命令可以將matplotlib的圖表直接嵌入到Notebook之中,或者使用指定的界面庫顯示圖表,它有一個參數指定matplotlib圖表的顯示方式。inline表示將圖表嵌入到Notebook中。
先使用plt.imread
讀取圖片
im_data = plt.imread(r'C:\Users\‘\Documents\Tencent Files\2569046373\Image\C2C\E481588D70689018F723ADBAC6D938EC.jpg') im_data.shape >>>(240, 240, 3)
把圖片在展示出來一下,方便對照
plt.imshow(im_data)

-
- 使用最大值法
#(240,240,3) --->>> (240,240) ''' 1. 使用最大值法 ''' im_data[0,0] im_data1 = im_data.max(axis=2) im_data1.shape plt.imshow(im_data1,cmap='gray')

- 2.使用平均值
''' 2.使用平均值 ''' im_data2 = im_data.mean(axis=2) im_data2.shape plt.imshow(im_data2,cmap='gray')

- 3.加權平均法
''' 3.加權平均法 ''' import numpy as np im_data3 = np.dot(im_data,[0.299,0.587,0.114]) #[0.299,0.587,0.114]固定值 im_data3.shape plt.imshow(im_data3,cmap='gray')

[0.299,0.587,0.114]是固定值,人眼對綠色的敏感度最高,對紅色的敏感度次之,對藍色的敏感度最低,因此使用不同的權重將得到比較合理的灰度圖像。實驗和理論推導得出 0.299、 0.587、 0.114。
作者:_aLIEz
鏈接:https://www.jianshu.com/p/02064982f9f9
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。