|
目录
背景
不论是在进行深度学习时的图片处理,还是在商业用途出版书刊,基本都会用到对图片进行灰度转换,也就是灰度化,本文章利用简单的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 图片灰度化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|