图片的灰度处理
本质就是降维,此文章介绍三种方法
一、导包
主要运用matplotlib模块处理
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
二、打开图片
j = plt.imread("./desktop/test.png")
plt.imshow(j)
此时可以查看一下图片的维数
j.shape
可以看到是一个三维的格式,例如:(520,360,3)
三、降维
第一种方法,最大值法,或者最小值法
j_max = j.max(axis = -1)
plt.imshow(j_max, cmap = "gray")
此时再查看一下图片的维数,图片已成黑白的
j.shape
可以看到是一个三维的格式,例如:(520,360)
第二种方法:平均值法
j_mean = j.mean(axis = 2)
plt.imshow(j_mean, cmap = "gray")
第三种方法:加权平均值
#人的肉眼对RGB颜色的感知度是不一样的,生物学家把他们找出来了
#g > r > b
w = np.array([0.299, 0.587, 0.114])
#矩阵乘法
j_weight = np.dot(j, w)
plt.imshow(j_weight, cmap = "gray")
莫问前程,单行python!