图片灰度处理

# 导入相关的包
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)

输出结果为:
图片灰度处理_第1张图片

(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()

显示的图片如下:
图片灰度处理_第2张图片

# 第二种方式:使用平均值  比使用最大值的做法暗一些
im_data2 = im_data.mean(axis=-1)   # axis=-1代表最后一维
plt.imshow(im_data2, cmap="gray")
plt.show()

显示的图片如下:
图片灰度处理_第3张图片

# 第三种方式:使用加权平均法
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()

显示的图片如下:
图片灰度处理_第4张图片

你可能感兴趣的:(Python入门)