第一个是自己建立了一个矩阵当做图片显示,代码和图片如下:
A = [0.3136, 0.3654, 0.4237,
0.3653, 0.4396, 0.5251,
0.4237, 0.5251, 0.6515]
image = np.array(A).reshape(3, 3)
plt.imshow(image, interpolation='nearest', cmap='bone', origin='upper')
# 添加颜色bar,shrink表示缩放比例
plt.colorbar(shrink=1)
plt.show()
如果用OpenCV读取用plt显示,则有
"""
在坐标轴中显示图片
"""
import cv2
from matplotlib import pyplot as plt
img = cv2.imread('./data/lena.jpg',0)
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic') //双线性插值
plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis
plt.show()
import matplotlib.pyplot as plt
import cv2 as cv
src = cv.imread('./data/lena.jpg', 1)
plt.imshow(src)
plt.show()
因为OpenCV输出的图像是BGR格式所以通道变换使得图片并非原图,办法是将图片的通道变换过来
import matplotlib.pyplot as plt
import cv2 as cv
src = cv.imread('./data/lena.jpg', 1)
b, g, r = cv.split(src)
dst = cv.merge([r, g, b])
plt.imshow(dst)
plt.show()
此时显示正常