RGB图像读入和显示,及灰度图显示
import numpy as np
import matplotlib.pyplot as plt
img = plt.imread('lena.jpg')
#img = np.array(img)
plt.figure(1)
plt.imshow(img)
if img.ndim == 3:
img = img[:,:,0]
plt.figure(2)
plt.subplot(221); plt.imshow(img),plt.axis('off') ##取消坐标;一般显示的情况下,显示为热力图
plt.subplot(222); plt.imshow(img, cmap ='gray') ## 灰度图正确的表示方法1
plt.subplot(223); plt.imshow(img, cmap = plt.cm.gray) ## 灰度图正确的表示方法2
plt.subplot(224); plt.imshow(img, cmap = plt.cm.gray_r) ## 黑白反转
plt.show()
matlab测试代码:
>> img=ones(500,1)*[-128:128];
>> imshow(img,[]) ##matlab需要【】自动归一化才能正常显示
import numpy as np
import matplotlib.pyplot as plt
a=np.ones([500,1])
b=np.arange(-128,129,1) ## 数据范围 -128~128
c=a*b
plt.imshow(c,cmap='gray')
plt.show()
如上图所示,python利用gray格式显示的时候会自动归一化,与matlab 【】类似