python實現(xiàn)彩色圖轉換成灰度圖
更新時間:2019年01月15日 11:36:02 作者:萌妹子哦哦
這篇文章主要為大家詳細介紹了python實現(xiàn)彩色圖轉換成灰度圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了python實現(xiàn)彩色圖轉換成灰度圖的具體代碼,供大家參考,具體內(nèi)容如下
from PIL import Image
import os
# 圖像組成:紅綠藍 (RGB)三原色組成 亮度(255,255,255)
image = "Annie1.jpg"
img = Image.open(image)
img_all = "素描" + image
new = Image.new("L", img.size, 255)
width, height = img.size
img = img.convert("L")
# print(img.size)
# print(img.mode) #RBG
#
# img_get = img.getpixel((0, 0))
# print(img_get) #三原色通道
#
# img_L=img.convert('L')
# print(img_L)
# img_get_L=img_L.getpixel((0,0)) #換算 得到灰度值
# print(img_get_L)
# 定義畫筆的大小
Pen_size = 3
# 色差擴散器
Color_Diff = 6
for i in range(Pen_size + 1, width - Pen_size - 1):
for j in range(Pen_size + 1, height - Pen_size - 1):
# 原始的顏色
originalColor = 255
lcolor = sum([img.getpixel((i - r, j)) for r in range(Pen_size)]) // Pen_size
rcolor = sum([img.getpixel((i + r, j)) for r in range(Pen_size)]) // Pen_size
# 通道----顏料
if abs(lcolor - rcolor) > Color_Diff:
originalColor -= (255 - img.getpixel((i, j))) // 4
new.putpixel((i, j), originalColor)
ucolor = sum([img.getpixel((i, j - r)) for r in range(Pen_size)]) // Pen_size
dcolor = sum([img.getpixel((i, j + r)) for r in range(Pen_size)]) // Pen_size
# 通道----顏料
if abs(ucolor - dcolor) > Color_Diff:
originalColor -= (255 - img.getpixel((i, j))) // 4
new.putpixel((i, j), originalColor)
acolor = sum([img.getpixel((i - r, j - r)) for r in range(Pen_size)]) // Pen_size
bcolor = sum([img.getpixel((i + r, j + r)) for r in range(Pen_size)]) // Pen_size
# 通道----顏料
if abs(acolor - bcolor) > Color_Diff:
originalColor -= (255 - img.getpixel((i, j))) // 4
new.putpixel((i, j), originalColor)
qcolor = sum([img.getpixel((i + r, j - r)) for r in range(Pen_size)]) // Pen_size
wcolor = sum([img.getpixel((i - r, j + r)) for r in range(Pen_size)]) // Pen_size
# 通道----顏料
if abs(qcolor - wcolor) > Color_Diff:
originalColor -= (255 - img.getpixel((i, j))) // 4
new.putpixel((i, j), originalColor)
new.save(img_all)
i = os.system('mshta vbscript createobject("sapi.spvoice").speak("%s")(window.close)' % '您的圖片轉換好了')
os.system(img_all)
原圖像:

轉換后

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Pyinstaller打包多個資源文件的超詳細教程(推薦!)
Pyinstaller是著名python打包module,軟件或者小工具用python寫好后,用pyinstaller 可以實現(xiàn)輕松打包,下面這篇文章主要給大家介紹了關于Pyinstaller打包多個資源文件的超詳細教程,需要的朋友可以參考下2022-12-12
Python 實現(xiàn)圖片轉字符畫的示例(靜態(tài)圖片,gif皆可)
這篇文章主要介紹了Python 實現(xiàn)圖片轉字符畫的示例,幫助大家更好的利用python進行圖片處理,感興趣的朋友可以了解下2020-11-11
Python結合MySQL數(shù)據(jù)庫編寫簡單信息管理系統(tǒng)完整實例
最近Python課堂上布置了綜合實訓,實驗目標是設計一個信息管理系統(tǒng),下面這篇文章主要給大家介紹了關于Python結合MySQL數(shù)據(jù)庫編寫簡單信息管理系統(tǒng)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-06-06

