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 相关文章推荐
wxPython定时器wx.Timer简单应用实例
Jun 03 Python
Python工厂函数用法实例分析
May 14 Python
Python3.6.0+opencv3.3.0人脸检测示例
May 25 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
Jun 27 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
Jan 15 Python
libreoffice python 操作word及excel文档的方法
Jul 04 Python
Python 批量刷博客园访问量脚本过程解析
Aug 30 Python
django formset实现数据表的批量操作的示例代码
Dec 06 Python
使用python批量转换文件编码为UTF-8的实现
Apr 03 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
Jan 23 Python
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
Apr 14 Python
python 算法题——快乐数的多种解法
May 27 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 获取远程文件大小的3种解决方法
2013/07/11 PHP
用php简单实现加减乘除计算器
2014/01/06 PHP
php使用sql server验证连接数据库的方法
2014/12/25 PHP
PHP+Ajax 检测网络是否正常实例详解
2016/12/16 PHP
php和html的区别点详细总结
2019/09/24 PHP
jquery 经典动画菜单效果代码
2010/01/26 Javascript
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
仿jQuery的siblings效果的js代码
2011/08/09 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
jQuery之日期选择器的深入解析
2013/06/19 Javascript
JavaScript打印iframe内容示例代码
2013/08/20 Javascript
JavaScript调用客户端的可执行文件(示例代码)
2013/11/28 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
2014/01/07 Javascript
AngularJS 过滤与排序详解及实例代码
2016/09/14 Javascript
VueJS全面解析
2016/11/10 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
深入理解vue中的slot与slot-scope
2019/04/22 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
原生js+canvas实现验证码
2020/11/29 Javascript
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
Python及Django框架生成二维码的方法分析
2018/01/31 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
python基本算法之实现归并排序(Merge sort)
2020/09/01 Python
CSS3制作苹果风格键盘特效
2015/02/26 HTML / CSS
Clarins娇韵诗英国官网:来自法国的天然护肤品牌
2017/04/18 全球购物
.NET初级开发工程师面试题
2014/04/18 面试题
仓库理货员岗位职责
2013/12/18 职场文书
小学生学雷锋演讲稿
2014/04/25 职场文书
2015新年寄语大全
2014/12/08 职场文书
研究生毕业论文导师评语
2014/12/31 职场文书
婚礼家长致辞
2015/07/27 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python