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 open()文件处理使用介绍
Nov 30 Python
Windows下python2.7.8安装图文教程
May 26 Python
python 字典修改键(key)的几种方法
Aug 10 Python
Tesserocr库的正确安装方式
Oct 19 Python
Python中GeoJson和bokeh-1的使用讲解
Jan 03 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
Feb 21 Python
Python对ElasticSearch获取数据及操作
Apr 24 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
Oct 23 Python
Python 静态方法和类方法实例分析
Nov 21 Python
Django Path转换器自定义及正则代码实例
May 29 Python
Python爬虫入门有哪些基础知识点
Jun 02 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作的文本留言本的例子(二)
2006/10/09 PHP
php将access数据库转换到mysql数据库的方法
2014/12/24 PHP
简单谈谈favicon
2015/06/10 PHP
PHP实现简单实用的验证码类
2015/07/29 PHP
十大使用PHP框架的理由
2015/09/26 PHP
twig模板常用语句实例小结
2016/02/04 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
jQuery qrcode生成二维码的方法
2016/04/03 Javascript
关于List.ToArray()方法的效率测试
2016/09/30 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
angularJs中json数据转换与本地存储的实例
2018/10/08 Javascript
AngularJS上传文件的示例代码
2018/11/10 Javascript
js实现搜索栏效果
2018/11/16 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
2019/09/09 Javascript
详解为什么Vue中不要用index作为key(diff算法)
2020/04/04 Javascript
微信小程序吸底区域适配iPhoneX的实现
2020/04/09 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python数组复制拷贝的实现方法
2015/06/09 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
Python网络编程 Python套接字编程
2017/09/13 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
python 获取微信好友列表的方法(微信web)
2019/02/21 Python
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
Champion官网:美国冠军运动服装
2017/01/25 全球购物
《夏夜多美》教学反思
2014/02/17 职场文书
八一建军节感言
2014/02/28 职场文书
安全事故隐患排查治理制度
2015/08/05 职场文书
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js