python实现彩色图转换成灰度图


Posted in Python onJanuary 15, 2019

本文实例为大家分享了python实现彩色图转换成灰度图的具体代码,供大家参考,具体内容如下

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)

原图像:

python实现彩色图转换成灰度图

转换后

python实现彩色图转换成灰度图

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 域名分析工具实现代码
Jul 15 Python
python使用paramiko实现远程拷贝文件的方法
Apr 18 Python
Python中将dataframe转换为字典的实例
Apr 13 Python
Django跨域请求问题的解决方法示例
Jun 16 Python
pycharm中使用anaconda部署python环境的方法步骤
Dec 19 Python
python 获得任意路径下的文件及其根目录的方法
Feb 16 Python
详解python读取image
Apr 03 Python
使用python搭建服务器并实现Android端与之通信的方法
Jun 28 Python
python 搜索大文件的实例代码
Jul 08 Python
使用Python的datetime库处理时间(RPA流程)
Nov 24 Python
通过实例解析python创建进程常用方法
Jun 19 Python
Python创建SQL数据库流程逐步讲解
Sep 23 Python
Python中new方法的详解
Jan 15 #Python
Python之循环结构
Jan 15 #Python
python实现图片彩色转化为素描
Jan 15 #Python
带你认识Django
Jan 15 #Python
Python数据可视化库seaborn的使用总结
Jan 15 #Python
使用Django连接Mysql数据库步骤
Jan 15 #Python
Django框架模板介绍
Jan 15 #Python
You might like
PHP基于array_unique实现二维数组去重
2020/07/14 PHP
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
2021/03/09 HTML / CSS
JavaScript中的事件处理
2008/01/16 Javascript
基于jquery循环map功能的代码
2011/02/26 Javascript
JavaScript继承模式粗探
2016/01/12 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
JavaScript使用ZeroClipboard操作剪切板
2017/05/10 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
vue-cli3脚手架的配置及使用教程
2018/08/28 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
[01:28]2014DOTA2国际邀请赛中国区预选赛四大豪门直升机抵达会场
2014/05/24 DOTA
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
python实现三次样条插值
2018/12/17 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
wxPython实现整点报时
2019/11/18 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
python实现简单的五子棋游戏
2020/09/01 Python
CSS3中使用RGBa来调节透明度的教程
2016/05/09 HTML / CSS
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
艺术爱好者的自我评价分享
2013/10/08 职场文书
电子商务专业个人的自我评价
2013/11/19 职场文书
大专生简历的自我评价
2013/11/26 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
关于青春的演讲稿
2014/05/05 职场文书
十佳家长事迹材料
2014/08/26 职场文书
总经理致辞
2015/07/29 职场文书
Python入门之基础语法详解
2021/05/11 Python
Java Dubbo框架知识点梳理
2021/06/26 Java/Android
css3带你实现3D转换效果
2022/02/24 HTML / CSS
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技