图片灰度处理

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

显示的图片如下:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/xiao_pingping/article/details/82082257
今日推荐