当前位置: 代码网 > it编程>前端脚本>Python > Python 利用4行代码实现图片灰度化的项目实践

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

2024年05月15日 Python 我要评论
背景不论是在进行深度学习时的图片处理,还是在商业用途出版书刊,基本都会用到对图片进行灰度转换,也就是灰度化,本文章利用简单的4行代码来快速实现图片灰度化,仅供参考效果实现代码from pil impo

背景

不论是在进行深度学习时的图片处理,还是在商业用途出版书刊,基本都会用到对图片进行灰度转换,也就是灰度化,本文章利用简单的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 图片灰度化内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网! 

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com