def calcGrayHist(image):
rows,cols=image.shape
grayHist=np.zeros([256],np.uint64)
for r in range(rows):
for c in range(cols):
grayHist[image[r][c]]+=1
return grayHist
def showHist(imgDir):
img=cv2.imread(imgDir)
imgGray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
grayHist=calcGrayHist(imgGray)
x_range=range(256)
plt.plot(x_range,grayHist,'r',linewidth=2,c='black')
y_maxValue=np.max(grayHist)
plt.axis([0,255,0,y_maxValue])
plt.xlabel('gray Level')
plt.ylabel('number of pixels')
plt.show()
效果图: