程序笔记   发布时间:2022-07-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了python+matplotlib对图片的灰度化处理大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

https://www.jianshu.com/p/02064982f9f9

 

彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255255255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。

  • 对图片的灰度化处理主要有下面三种方法,我们用一个简单的例子介绍下 %matplotlib inline使用%matplotlib命令可以将matplotlib的图表直接嵌入到Notebook之中,或者使用指定的界面库显示图表,它有一个参数指定matplotlib图表的显示方式。inline表示将图表嵌入到Notebook中。
import matplotlib.pyplot as plt
%matplotlib inline
#使用%matplotlib命令可以将matplotlib的图表直接嵌入到Notebook之中,或者使用指定的界面库显示图表,它有一个参数指定matplotlib图表的显示方式。inline表示将图表嵌入到Notebook中。

先使用plt.imread读取图片

im_data = plt.imread(r'C:Users‘DocumentsTencent Files2569046373ImageC2CE481588D70689018F723ADBAC6D938EC.jpg')
im_data.shape

>>>(240, 240, 3)

把图片在展示出来一下,方便对照

plt.imshow(im_data)
 

python+matplotlib对图片的灰度化处理

 

    1. 使用最大值法
#(240,240,3) --->>> (240,240)
'''
1. 使用最大值法

'''
im_data[0,0]
im_data1 = im_data.max(axis=2)
im_data1.shape
plt.imshow(im_data1,cmap='gray')
 

python+matplotlib对图片的灰度化处理

 
  • 2.使用平均值
'''
2.使用平均值
'''
im_data2 = im_data.mean(axis=2)
im_data2.shape
plt.imshow(im_data2,cmap='gray')
 

python+matplotlib对图片的灰度化处理

 
  • 3.加权平均法
'''
3.加权平均法
'''
import numpy as np
im_data3 = np.dot(im_data,[0.299,0.587,0.114])    #[0.299,0.587,0.114]固定值
im_data3.shape
plt.imshow(im_data3,cmap='gray')
 

python+matplotlib对图片的灰度化处理

 

[0.299,0.587,0.114]是固定值,人眼对绿色的敏感度最高,对红色的敏感度次之,对蓝色的敏感度最低,因此使用不同的权重将得到比较合理的灰度图像。实验和理论推导得出 0.299、 0.587、 0.114。

作者:_aLIEz链接:https://www.jianshu.com/p/02064982f9f9来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

大佬总结

以上是大佬教程为你收集整理的python+matplotlib对图片的灰度化处理全部内容,希望文章能够帮你解决python+matplotlib对图片的灰度化处理所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: