使用python来绘制图像的直方图:
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
im = Image.open("axon01.tif")
img_array = np.array(im)
print(img_array.shape)#打印图像的大小
print(img_array.max(),img_array.min())#打印图片的灰度值的最大值和最小值
gray_hist=np.zeros(img_array.max()+1)#直方图的维度为最大灰度值加1
for i in range(img_array.shape[0]):
for j in range(img_array.shape[1]):
gray_hist[img_array[i][j]] +=1#统计图片中,每个灰度值的个数
print(gray_hist.max(), gray_hist.min())#展示灰度直方图中的最大值和最小值
plt.plot(gray_hist)#画灰度直方图
plt.title('axon01_Grayscale histogram ')
plt.xlabel('grayscale value ')
plt.ylabel('Pixel values ')
plt.show()