图片灰度处理
# 导入相关的包
import scipy.misc as misc
import matplotlib.pyplot as plt
import numpy as np
# 获取图片 图片和文件放在同一目录下
face_g = misc.face(gray=True)
plt.imshow(face_g, cmap="gray")
plt.show()
print(face_g.shape)
输出结果为:
(768, 1024)
# 将彩色图片变为灰色图片 彩色图片是三维的,灰色图片是二维的
im_data = plt.imread("芝麻.jpg")
# 将(549, 870, 3)--->(549, 870)
# 第一种方式:使用最大值法
im_data[0, 0] # 选第一维第一个数,第二维第一个数
im_data1 = im_data.max(axis=2)
plt.imshow(im_data1, cmap="gray")
plt.show()
显示的图片如下:
# 第二种方式:使用平均值 比使用最大值的做法暗一些
im_data2 = im_data.mean(axis=-1) # axis=-1代表最后一维
plt.imshow(im_data2, cmap="gray")
plt.show()
显示的图片如下:
# 第三种方式:使用加权平均法
a = np.array([0.299, 0.587, 0.114]) # 红绿蓝的权重
# red*0.299+green*0.587+blue*0.114
im_data3 = np.dot(im_data, a) # dot()矩阵乘法
plt.imshow(im_data3, cmap="gray")
plt.show()
显示的图片如下: