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 初始化多维数组代码
Sep 06 Python
Python常用内置函数总结
Feb 08 Python
Python 基础教程之包和类的用法
Feb 23 Python
在pandas中一次性删除dataframe的多个列方法
Apr 10 Python
python实现对csv文件的列的内容读取
Jul 04 Python
python实现诗歌游戏(类继承)
Feb 26 Python
Python-Seaborn热图绘制的实现方法
Jul 15 Python
Python Gitlab Api 使用方法
Aug 28 Python
对Tensorflow中tensorboard日志的生成与显示详解
Feb 04 Python
Python各种扩展名区别点整理
Feb 27 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
Jul 28 Python
一篇文章教你用python画动态爱心表白
Nov 22 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注释和去除空格函数分享
2014/03/13 PHP
实例分析基于PHP微信网页获取用户信息
2017/11/24 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
jQuery 事件的命名空间简单了解
2013/11/22 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
html+js+highcharts绘制圆饼图表的简单实例
2016/08/04 Javascript
javascript简易画板开发
2020/04/12 Javascript
深入理解Vue父子组件生命周期执行顺序及钩子函数
2018/08/12 Javascript
微信开发之企业付款到银行卡接口开发的示例代码
2018/09/18 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
js DOM的事件常见操作实例详解
2019/12/16 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
python实现统计代码行数的方法
2015/05/22 Python
python相似模块用例
2016/03/04 Python
python中 logging的使用详解
2017/10/25 Python
python2.7读取文件夹下所有文件名称及内容的方法
2018/02/24 Python
Python插入Elasticsearch操作方法解析
2020/01/19 Python
python3.6连接mysql数据库及增删改查操作详解
2020/02/10 Python
浅谈keras 的抽象后端(from keras import backend as K)
2020/06/16 Python
利用css3-animation实现逐帧动画效果
2016/03/10 HTML / CSS
夏威夷航空官网:Hawaiian Airlines
2016/09/11 全球购物
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
亚马逊印度站:Amazon.in
2017/10/15 全球购物
毕业生精彩的自我评价分享
2013/10/06 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
2014入党积极分子批评与自我批评思想汇报
2014/09/20 职场文书
车辆转让协议书
2014/09/24 职场文书
2014年财政局工作总结
2014/12/09 职场文书
优秀员工事迹材料
2014/12/20 职场文书
遗嘱继承权公证书
2015/01/26 职场文书
初中数学教学随笔
2015/08/15 职场文书
Golang 并发编程 SingleFlight模式
2022/04/26 Golang