python圖片灰度化處理的幾種方法
今天在學(xué)習(xí)的時(shí)候,發(fā)現(xiàn)scipy.misc中的imread提取圖片的方法被棄用了。太生氣了!
只好使用了matplotlib.pyplot中的imread了,可是當(dāng)我發(fā)現(xiàn)他不能直接通過(guò)True來(lái)提取灰度圖片時(shí),我崩潰了
上網(wǎng)查了一下,了解了灰度化處理的幾種方法:
首先先解釋一下,彩色圖片一般是由RGB組成,其實(shí)就是3個(gè)二維數(shù)組疊加而成。我們也就能看到一些彩色圖片了。當(dāng)R=G=B時(shí),彩色圖片就會(huì)變成一種灰度顏色,就是我們俗稱的“黑白照片”。所以灰度顏色的圖片其實(shí)就是一個(gè)二維數(shù)組。
灰度化處理總共有三種方法:最大值法、平均值法、加權(quán)平均法。
從字面意思我們也能看出,前兩種的意思。但第三種中的加權(quán)平均中的權(quán)值從何而來(lái)?
它是一個(gè)固定值,分別是R:0.299、G:0.587、B:0.114。因?yàn)槿搜蹖?duì)綠色的敏感度更高,對(duì)紅色次之,藍(lán)色最低,因此使用不能的權(quán)值可以得到更合理的灰度圖像,所以經(jīng)過(guò)多次的實(shí)驗(yàn)才推導(dǎo)出該數(shù)值。
首先康康原圖
original = plt.imread('C:\\Users\\11140\\Pictures\\Saved Pictures\\abc.jpg') print(original.shape) # (640, 640, 3) plt.imshow(original) plt.show()
最大值法:
original = original.max(axis=2) print(original.shape) # (640, 640) plt.imshow(original,cmap='gray') plt.show()
平均值法:
original = original.mean(axis=2) print(original.shape) # (640, 640) plt.imshow(original,cmap='gray') plt.show()
加權(quán)平均法
original = np.dot(original,[0.299,0.587,0.114]) print(original.shape) # (640, 640) plt.imshow(original,cmap='gray') plt.show()
這樣看起來(lái),第一張和第二張有很大的差別。第三張相比第二張,好像確實(shí)第三張看起來(lái)更舒服一點(diǎn)
到此這篇關(guān)于python圖片灰度化處理的幾種方法的文章就介紹到這了,更多相關(guān)python圖片灰度化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用 PyCharm 實(shí)現(xiàn)本地代碼和遠(yuǎn)端的實(shí)時(shí)同步功能
這篇文章主要介紹了利用 PyCharm 實(shí)現(xiàn)本地代碼和遠(yuǎn)端的實(shí)時(shí)同步功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03Python實(shí)現(xiàn)合并同一個(gè)文件夾下所有txt文件的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)合并同一個(gè)文件夾下所有txt文件的方法,涉及Python針對(duì)文件的遍歷、讀取、寫入等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04python實(shí)現(xiàn)根據(jù)月份和日期得到星座的方法
這篇文章主要介紹了python實(shí)現(xiàn)根據(jù)月份和日期得到星座的方法,涉及Python操作字符串及數(shù)組的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03淺析Python中將單詞首字母大寫的capitalize()方法
這篇文章主要介紹了淺析Python中將單詞首字母大寫的capitalize()方法,是Python入門中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05anaconda虛擬環(huán)境默認(rèn)路徑的更改圖文教程
在Anaconda中如果沒(méi)有指定路徑,虛擬環(huán)境會(huì)默認(rèn)安裝在anaconda所安裝的目錄下,這篇文章主要給大家介紹了關(guān)于anaconda虛擬環(huán)境默認(rèn)路徑更改的相關(guān)資料,需要的朋友可以參考下2023-10-10簡(jiǎn)單了解python關(guān)鍵字global nonlocal區(qū)別
這篇文章主要介紹了簡(jiǎn)單了解python關(guān)鍵字global nonlocal區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09關(guān)于dataframe.query()篩選tips
在Pandas中,通過(guò)布爾索引或.query()方法可以實(shí)現(xiàn)對(duì)DataFrame中數(shù)據(jù)的篩選。例如,篩選特定列符合條件的行數(shù)據(jù)或排除某些類型值。此外,.query()方法還支持使用外部變量進(jìn)行篩選。這些操作對(duì)數(shù)據(jù)處理非常有用,可以高效地進(jìn)行數(shù)據(jù)清洗和預(yù)處理2024-09-09