Python 利用4行代码实现图片灰度化的项目实践

 更新时间:2024年04月01日 10:54:20   作者:数据人阿多  
灰度处理是将彩色图像转换为灰度图像的过程,即每个像素的颜色由红、绿、蓝三个通道的值组成,转换为一个单一的灰度值,本文主要介绍了Python 利用4行代码实现图片灰度化的项目实践,感兴趣的可以了解一下

背景

不论是在进行深度学习时的图片处理,还是在商业用途出版书刊,基本都会用到对图片进行灰度转换,也就是灰度化,本文章利用简单的4行代码来快速实现图片灰度化,仅供参考

效果

效果

实现代码

from PIL import Image
wechat_image='./微信头像.jpg'
wechat_image_greyscale=Image.open(wechat_image).convert('L')   #对图片进行灰度化
wechat_image_greyscale.save('微信头像_灰度化.jpg')

实现代码

图像灰度转化

图像是由红(Red)、绿(Green)、蓝(Blue)三原色来表示,R、G、B的取值范围均为0~255,正常读取的图片构成的三维矩阵就是图像各像素点的RGB值。
图像的灰度化,就是让像素点矩阵中的每一个像素点都满足这样的关系:R=G=B,此时的这个值叫做灰度值
灰度化后的R = 处理前的R * 0.299+ 处理前的G * 0.587 +处理前的B * 0.114
灰度化后的G = 处理前的R * 0.299+ 处理前的G * 0.587 +处理前的B * 0.114
灰度化后的B = 处理前的R * 0.299+ 处理前的G * 0.587 +处理前的B * 0.114

PIL库里面在灰度转化时,利用的公式
When translating a color image to greyscale (mode “L”), the library uses the ITU-R 601-2 luma transform:
L = R * 299/1000 + G * 587/1000 + B * 114/1000

最大值法:

original = original.max(axis=2)
print(original.shape)
# (640, 640)
plt.imshow(original,cmap='gray')
plt.show()

平均值法:

original = original.mean(axis=2)
print(original.shape)
# (640, 640)
plt.imshow(original,cmap='gray')
plt.show()

加权平均法

original = np.dot(original,[0.299,0.587,0.114])
print(original.shape)
# (640, 640)
plt.imshow(original,cmap='gray')
plt.show()

到此这篇关于Python 利用4行代码实现图片灰度化的项目实践的文章就介绍到这了,更多相关Python 图片灰度化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • Python unittest如何生成HTMLTestRunner模块

    Python unittest如何生成HTMLTestRunner模块

    这篇文章主要介绍了Python unittest如何生成HTMLTestRunner模块,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Python基于dom操作xml数据的方法示例

    Python基于dom操作xml数据的方法示例

    这篇文章主要介绍了Python基于dom操作xml数据的方法,结合实例形式分析了Python针对xml格式文件的加载、读取、节点与属性遍历等相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • Python协程的四种实现方式总结

    Python协程的四种实现方式总结

    今天继续给大家介绍Python关知识,本文主要内容是Python协程的四种实现方式。文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-01-01
  • python语法 range() 序列类型range

    python语法 range() 序列类型range

    这篇文章主要介绍了python语法 range() 序列类型range,range是一种序列类型,range类型用于表示不可变的整数序列,下面小编整理了简单内容,需要的小伙伴可以参考一下
    2022-01-01
  • python实现的希尔排序算法实例

    python实现的希尔排序算法实例

    这篇文章主要介绍了python实现的希尔排序算法,实例分析了基于Python实现希尔排序的相关技巧,需要的朋友可以参考下
    2015-07-07
  • 利用python修改json文件的value方法

    利用python修改json文件的value方法

    今天小编就为大家分享一篇利用python修改json文件的value方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python数据分析之将爬取的数据保存为csv格式

    python数据分析之将爬取的数据保存为csv格式

    Python内置了CSV模块,可直接通过该模块实现csv文件的读写操作,在web应用中导出数据是比较常见操作,下面这篇文章主要给大家介绍了关于python数据分析之将爬取的数据保存为csv格式的相关资料,需要的朋友可以参考下
    2022-06-06
  • Python线性表种的单链表详解

    Python线性表种的单链表详解

    这篇文章主要介绍了Python线性表种的单链表详解,线性表是一种线性结构,它是由零个或多个数据元素构成的有限序列。线性表的特征是在一个序列中,除了头尾元素,每个元素都有且只有一个直接前驱,有且只有一个直接后继
    2022-08-08
  • 基于python生成器封装的协程类

    基于python生成器封装的协程类

    这篇文章主要为大家详细介绍了基于python生成器封装的协程类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • python制作简单五子棋游戏

    python制作简单五子棋游戏

    这篇文章主要为大家详细介绍了python制作简单五子棋游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06

最新评论