方法1
import matplotlib.pyplot as mp
import matplotlib.image as mi
#读取图像
img = mi.imread('img.png')
r,g,b = [img[:,:,i] for i in range(3)]
#图片灰度算法 Gray = 0.299R+0.587G+0.114*B
img_gray = 0.299*r+0.587*g+0.114*b
mp.axis('off')
#显示图像
mp.imshow(img_gray,cmap='jet')
mp.colorbar()
mp.show()
方法2
import cv2 # 利用opencv读取图像 import numpy as np
#利用matplotlib显示图像 i
import matplotlib.pyplot as mp
img = cv2.imread(’/home/tarena/ljl/AI/day06/lily.jpg’)
#读取图像
#opencv的颜色通道顺序为[B,G,R],而matplotlib的颜色通道顺序为[R,G,B]。
解决方案:把R和B的位置调换一下
img = img[:, :, (2, 1, 0)]
r, g, b = [img[:, :, i] for i in range(3)]
#图片灰度算法 Gray = 0.299R+0.587G+0.114B
img_gray = 0.299r + 0.587g + 0.114*b
mp.axis(‘off’)
#显示图像
mp.imshow(img_gray, cmap=‘jet’)
mp.color
原图
最终显示效果