python图片灰度化处理的几种方法
程序员文章站
2022-03-17 19:39:59
今天在学习的时候,发现scipy.misc中的imread提取图片的方法被弃用了。太生气了!只好使用了matplotlib.pyplot中的imread了,可是当我发现他不能直接通过true来提取灰度...
今天在学习的时候,发现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图片灰度化内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: 比亚迪豪华版
推荐阅读
-
用python处理图片之打开\显示\保存图像的方法
-
CorelDRAW X8对图片进行去色处理的几种方法
-
python从网络读取图片并直接进行处理的方法
-
python数据处理 根据颜色对图片进行分类的方法
-
Python中一般处理中文的几种方法
-
图像的灰度化处理(Python实现三种方法——最大值法、平均值法、加权均值法、gamma校正)
-
对python PLT中的image和skimage处理图片方法详解
-
Python 3 格式化字符串的几种方法
-
【数字图像处理实验】RGB与HSI互转、灰度直方图绘制、直方图均衡化、直方图规定化的MATLAB实现与Python实现
-
python图片灰度化处理的几种方法