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实现竖排打印传单手机号码易撕条
Mar 16 Python
用Python制作简单的朴素基数估计器的教程
Apr 01 Python
在Python中实现贪婪排名算法的教程
Apr 17 Python
python实现二分查找算法
Sep 21 Python
Python实现打印螺旋矩阵功能的方法
Nov 21 Python
Python下调用Linux的Shell命令的方法
Jun 12 Python
Python3 读、写Excel文件的操作方法
Oct 20 Python
python实现小球弹跳效果
May 10 Python
face++与python实现人脸识别签到(考勤)功能
Aug 28 Python
pandas 空数据处理方法详解
Nov 02 Python
基于python实现获取网页图片过程解析
May 11 Python
python小程序之4名牌手洗牌发牌问题解析
May 15 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
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
JS字符串截取函数实例
2013/12/27 Javascript
jQuery通过控制节点实现仅在前台通过get方法完成参数传递
2015/02/02 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
js实现常用排序算法
2016/08/09 Javascript
JS关闭窗口时产生的事件及用法示例
2016/08/20 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
2016/11/20 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
JS生成一维码(条形码)功能示例
2017/01/19 Javascript
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
nodejs实现爬取网站图片功能
2017/12/14 NodeJs
vue中音频wavesurfer.js的使用方法
2020/02/20 Vue.js
[02:53]DOTA2英雄昆卡基础教程
2013/11/25 DOTA
[02:05:03]完美世界DOTA2联赛循环赛 LBZS VS Matador BO2 10.28
2020/10/28 DOTA
Windows8下安装Python的BeautifulSoup
2015/01/22 Python
使用Python编写vim插件的简单示例
2015/04/17 Python
Python max内置函数详细介绍
2016/11/17 Python
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
python进行两个表格对比的方法
2018/06/27 Python
对numpy中二进制格式的数据存储与读取方法详解
2018/11/01 Python
通过自学python能找到工作吗
2020/06/21 Python
解决阿里云邮件发送不能使用25端口问题
2020/08/07 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
详解python3 GUI刷屏器(附源码)
2021/02/18 Python
财务会计专业应届毕业生求职信
2013/10/18 职场文书
交通安全演讲稿
2014/01/07 职场文书
运动会通讯稿100字
2014/01/31 职场文书
生产厂长岗位职责
2014/02/21 职场文书
《菜园里》教学反思
2014/04/17 职场文书
2014年会策划方案
2014/05/11 职场文书
体育运动口号
2014/06/09 职场文书
酒店工程部主管岗位职责
2015/04/16 职场文书
大学推普周活动总结
2015/05/07 职场文书
神州牡丹园的导游词
2019/11/20 职场文书
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server