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ì)變成一種灰度顏色,就是我們俗稱(chēng)的“黑白照片”。所以灰度顏色的圖片其實(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:Users11140PicturesSaved Picturesabc.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)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Vue 構(gòu)造選項(xiàng) - 進(jìn)階使用說(shuō)明2. 淺談優(yōu)化Django ORM中的性能問(wèn)題3. php相對(duì)路徑轉(zhuǎn)化成絕對(duì)路徑4. Html5播放器實(shí)現(xiàn)倍速播放的方法示例5. Django:使用filter的pk進(jìn)行多值查詢(xún)操作6. 簡(jiǎn)體中文轉(zhuǎn)換為繁體中文的PHP函數(shù)7. XML入門(mén)的常見(jiàn)問(wèn)題(三)8. ajax4jsf 1.0.2 發(fā)布,添加新的a4j tags.9. Android 實(shí)現(xiàn)徹底退出自己APP 并殺掉所有相關(guān)的進(jìn)程10. 《CSS3實(shí)戰(zhàn)》筆記--漸變?cè)O(shè)計(jì)(二)
