灰色的rgb值_一行代码实现图片的灰色效果
今天是清明節,警笛長鳴,萬眾默哀。送別英雄,生活繼續。
大部分的app配圖,今天都是灰色。這種圖片的轉換在python里非常容易實現。一行代碼搞定。
下面是DE8UG上次說個故事:再見VB。你好,精彩紛呈的編程世界!用的彩色圖:
我們用這一行代碼運行一下:
Image.open('green-mix.jpg').convert("L").save('gray.jpg')就直接變成了灰色。
代碼解釋
這句代碼用到了pillow這個圖片處理庫,所以運行前,需要pip install pillow,剛才說是一行代碼,其實有點夸張,用之前是需要導入的:
from?PIL?import?Image如果嚴格要求,真的一行搞定,其實也很簡單:
from PIL import Image;Image.open('green-mix.jpg').convert("L").save('gray.jpg')只需要用個分號把兩句代碼連為一行即可。
可能你已經發現了,上面的文件名是寫好的字符串,我們還可以把代碼修改的更靈活一下,比如運行一個gray.py的代碼,直接傳給這個代碼一個圖片名稱,然后自動生成一個灰度圖,比如我直接給原圖片追加‘-gray’后綴。
那么,我們可以這樣:新建一個gray.py文件,寫入如下代碼,然后保存:
import sys;from PIL import Image;Image.open(sys.argv[1]).convert("L").save(sys.argv[1]+'-gray.jpg')然后打開控制臺,進入圖片目錄,直接運行:
python gray.py green-mix.jpg注意:green-mix.jpg是我這個目錄里的文件名,你用的時候換為自己的
運行成功,當前目錄出現兩個文件:
green-mix.jpg 和 green-mix.jpg-gray.jpg, 當然,我這里沒有處理文件名后綴,你可以自己用字符串處理。
圖片轉換原理
這里最關鍵的圖片轉換代碼為:convert("L"),含義是將彩色的圖片轉為灰色圖。用到了ITU-R 601-2 Luma轉換:
L = R * 299/1000 + G * 587/1000 + B * 114/1000
這里的代碼內部是把圖片上每一個像素的顏色值RGB,都用公式進行了計算,映射到了灰色區域。也就出現了我們看見的灰色圖效果。
相關閱讀:
Python權威學習資料-官方文檔-DE8UG解讀-01-甜點
Python權威學習資料-官方文檔-DE8UG解讀-02-解釋器
Python權威學習資料-官方文檔-DE8UG解讀-03-Python 的非正式介紹
Python權威學習資料-官方文檔-DE8UG解讀-04a-流程關鍵詞
Python權威學習資料-官方文檔-DE8UG解讀-04b-函數
Python權威學習資料-官方文檔-DE8UG解讀-05-數據結構與循環
Python權威學習資料-官方文檔-DE8UG解讀-06-模塊與調用
Python權威學習資料-官方文檔-DE8UG解讀-07-輸入輸出文件和字符串
Python權威學習資料-官方文檔-DE8UG解讀-08-錯誤和異常
Python權威學習資料-官方文檔-DE8UG解讀-09-類與對象
想查看更多?
請點擊原文??
總結
以上是生活随笔為你收集整理的灰色的rgb值_一行代码实现图片的灰色效果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 个人博客代码_Solo小众开源博客系统:
- 下一篇: pythonimportre_Pytho