您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:python图片灰度化处理的几种方法

51自学网 2021-10-30 22:26:53
  python
这篇教程python图片灰度化处理的几种方法写得很实用,希望能帮到您。

今天在学习的时候,发现scipy.misc中的imread提取图片的方法被弃用了。太生气了!

在这里插入图片描述

只好使用了matplotlib.pyplot中的imread了,可是当我发现他不能直接通过True来提取灰度图片时,我崩溃了

在这里插入图片描述

上网查了一下,了解了灰度化处理的几种方法:

首先先解释一下,彩色图片一般是由RGB组成,其实就是3个二维数组叠加而成。我们也就能看到一些彩色图片了。当R=G=B时,彩色图片就会变成一种灰度颜色,就是我们俗称的“黑白照片”。所以灰度颜色的图片其实就是一个二维数组。
灰度化处理总共有三种方法:最大值法、平均值法、加权平均法。
从字面意思我们也能看出,前两种的意思。但第三种中的加权平均中的权值从何而来?
它是一个固定值,分别是R:0.299、G:0.587、B:0.114。因为人眼对绿色的敏感度更高,对红色次之,蓝色最低,因此使用不能的权值可以得到更合理的灰度图像,所以经过多次的实验才推导出该数值。

首先康康原图

original = plt.imread('C://Users//11140//Pictures//Saved Pictures//abc.jpg')print(original.shape)# (640, 640, 3)plt.imshow(original)plt.show()

在这里插入图片描述

最大值法:

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图片灰度化处理的几种方法的文章就介绍到这了,更多相关python图片灰度化内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


详解Python中的进程和线程
总结Python连接CS2000的详细步骤
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。