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之关于循环的小伎俩
Oct 02 Python
Python中使用支持向量机SVM实践
Dec 27 Python
用python实现的线程池实例代码
Jan 06 Python
Python字符串格式化%s%d%f详解
Feb 02 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
Feb 26 Python
网易有道2017内推编程题 洗牌(python)
Jun 19 Python
Python实现计算对象的内存大小示例
Jul 10 Python
python gdal安装与简单使用
Aug 01 Python
python 解决Windows平台上路径有空格的问题
Nov 10 Python
jupyter notebook快速入门及使用详解
Nov 13 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
Nov 24 Python
python编程学习使用管道Pipe编写优化代码
Nov 20 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小型企业库存管理系统的设计与实现代码
2011/05/16 PHP
php preg_filter执行一个正则表达式搜索和替换
2012/02/27 PHP
PHP中extract()函数的定义和用法
2012/08/17 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
Yii中创建自己的Widget实例
2016/01/05 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
一次因composer错误使用引发的问题与解决
2019/03/06 PHP
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
2007/02/03 Javascript
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
解决IE6的PNG透明JS插件使用介绍
2013/04/17 Javascript
js中获取时间new Date()的全面介绍
2016/06/20 Javascript
Angular.JS学习之依赖注入$injector详析
2016/10/20 Javascript
原生JS和jQuery操作DOM对比总结
2017/01/19 Javascript
Nodejs实现短信验证码功能
2017/02/09 NodeJs
解决element UI 自定义传参的问题
2018/08/22 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
JS实现简单随机3D骰子
2019/10/24 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
2019/11/06 Javascript
微信小程序缓存支持二次开发封装实现解析
2019/12/16 Javascript
深入解析微信小程序开发中遇到的几个小问题
2020/07/11 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
[55:45]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第一局
2016/02/28 DOTA
python中set常用操作汇总
2016/06/30 Python
Python 实现12306登录功能实例代码
2018/02/09 Python
django框架之cookie/session的使用示例(小结)
2018/10/15 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
python实现飞机大战游戏(pygame版)
2020/10/26 Python
css3.0新属性效果在ie下的解决方案
2010/05/10 HTML / CSS
用html5实现语音搜索框的方法
2014/03/18 HTML / CSS
北美最大的手工艺品零售商之一:Michaels Stores
2019/02/27 全球购物
加拿大户外探险购物网站:SAIL
2020/06/27 全球购物
政府四风问题整改措施
2014/10/04 职场文书
Windows11性能真的上涨35%? 桌面酷睿i9实测结果公开
2021/11/21 数码科技