Python 利用4行代碼實現(xiàn)圖片灰度化的項目實踐
背景
不論是在進行深度學習時的圖片處理,還是在商業(yè)用途出版書刊,基本都會用到對圖片進行灰度轉(zhuǎn)換,也就是灰度化,本文章利用簡單的4行代碼來快速實現(xiàn)圖片灰度化,僅供參考
效果
實現(xiàn)代碼
from PIL import Image wechat_image='./微信頭像.jpg' wechat_image_greyscale=Image.open(wechat_image).convert('L') #對圖片進行灰度化 wechat_image_greyscale.save('微信頭像_灰度化.jpg')
圖像灰度轉(zhuǎn)化
圖像是由紅(Red)、綠(Green)、藍(Blue)三原色來表示,R、G、B的取值范圍均為0~255,正常讀取的圖片構(gòu)成的三維矩陣就是圖像各像素點的RGB值。
圖像的灰度化,就是讓像素點矩陣中的每一個像素點都滿足這樣的關(guān)系:R=G=B,此時的這個值叫做灰度值:
灰度化后的R = 處理前的R * 0.299+ 處理前的G * 0.587 +處理前的B * 0.114
灰度化后的G = 處理前的R * 0.299+ 處理前的G * 0.587 +處理前的B * 0.114
灰度化后的B = 處理前的R * 0.299+ 處理前的G * 0.587 +處理前的B * 0.114
PIL庫里面在灰度轉(zhuǎn)化時,利用的公式
When translating a color image to greyscale (mode “L”), the library uses the ITU-R 601-2 luma transform:
L = R * 299/1000 + G * 587/1000 + B * 114/1000
最大值法:
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()
到此這篇關(guān)于Python 利用4行代碼實現(xiàn)圖片灰度化的項目實踐的文章就介紹到這了,更多相關(guān)Python 圖片灰度化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Python設置PDF中圖片的透明度的實現(xiàn)方法
在PDF文檔的設計與內(nèi)容創(chuàng)作過程中,圖像的透明度設置是一個重要的操作,尤其是在處理圖文密集型PDF文檔時,本文將介紹如何使用Python添加指定透明度的圖片到PDF文檔或調(diào)整PDF文檔中現(xiàn)有圖片的透明度,需要的朋友可以參考下2024-09-09