所需头函数
import cv2
import numpy as np
import matplotlib.pyplot as plt
核心是编写灰度直方图统计函数:
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
读取图象显示:
image = cv2.imread('picture.jpg', 0) #读图,选择同路径下的图片
cv2.imshow('Original Image', image) #显示初始化图象
#统计绘制灰度直方图
grayHist = calcGrayHist(image)
plt.figure()
plt.bar(range(256), grayHist, width=1.0, edgecolor='none')
plt.title('Gray Histogram')
plt.xlabel('Gray Level')
plt.ylabel('Pixel Number')
plt.show()
最后需要保持图像显示
cv2.waitKey(0) #保持图象
cv2.destroyAllWindows() #用于所有打开的窗口,释放相关资源
效果


6045

被折叠的 条评论
为什么被折叠?



