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连接MySQL、MongoDB、Redis、memcache等数据库的方法
Nov 15 Python
简单介绍Python中利用生成器实现的并发编程
May 04 Python
Python发送以整个文件夹的内容为附件的邮件的教程
May 06 Python
Python算法之求n个节点不同二叉树个数
Oct 27 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
Nov 14 Python
简单实现python画圆功能
Jan 25 Python
Python pymongo模块用法示例
Mar 31 Python
Python基于百度云文字识别API
Dec 13 Python
Django中从mysql数据库中获取数据传到echarts方式
Apr 07 Python
Python监听剪切板实现方法代码实例
Nov 11 Python
Python爬虫UA伪装爬取的实例讲解
Feb 19 Python
linux中nohup和后台运行进程查看及终止
Jun 24 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
无限级别菜单的实现
2006/10/09 PHP
人大复印资料处理程序_输入篇
2006/10/09 PHP
php导出word文档与excel电子表格的简单示例代码
2014/03/08 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
2014/06/23 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
php中的登陆login实例代码
2016/06/20 PHP
php注册和登录界面的实现案例(推荐)
2016/10/24 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
详解PHP 7.4 中数组延展操作符语法知识点
2019/07/19 PHP
网站上面有这种切换效果
2006/06/26 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
JS自定义功能函数实现动态添加网址参数修改网址参数值
2013/08/02 Javascript
js函数调用的方式
2014/05/06 Javascript
PHP配置文件php.ini中打开错误报告的设置方法
2015/01/09 PHP
Js实现无刷新删除内容
2015/04/29 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
ReactNative Image组件使用详解
2017/08/07 Javascript
JS模拟实现哈希表及应用详解
2018/05/04 Javascript
node实现爬虫的几种简易方式
2019/08/22 Javascript
javascript二维数组和对象的深拷贝与浅拷贝实例分析
2019/10/26 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
js 图片懒加载的实现
2020/10/21 Javascript
详解Django-auth-ldap 配置方法
2018/12/10 Python
Python中的 ansible 动态Inventory 脚本
2020/01/19 Python
巴基斯坦电子产品购物网站:Home Shopping
2017/09/14 全球购物
Elemental Herbology官网:英国美容品牌
2019/04/27 全球购物
人事经理岗位职责
2014/04/28 职场文书
2014超市收银员工作总结
2014/11/13 职场文书
暑期实践个人总结
2015/03/06 职场文书
MySQL 服务和数据库管理
2021/11/11 MySQL
优化Mysql查询的示例
2022/04/26 MySQL
windows server2008 开启端口的实现方法
2022/06/25 Servers