灰度直方图计算函数的python代码实现
时间: 2024-10-07 08:00:38 浏览: 40
python3+opencv 使用灰度直方图来判断图片的亮暗操作
灰度直方图是图像处理中常用的一种统计工具,它表示了像素值在整个灰度级范围内的分布情况。在Python中,我们可以使用OpenCV库来轻松地计算灰度图像的直方图。下面是一个简单的例子:
```python
import cv2
import numpy as np
def compute_gray_histogram(image_path):
# 读取图像
img = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
# 检查图像是否成功读取
if img is None:
print("Failed to read image.")
return
# 计算直方图
hist, bins = np.histogram(img.flatten(), bins=np.arange(256), range=(0, 256))
# 归一化直方图
hist = hist.astype('float')
hist /= hist.sum()
return hist, bins
# 使用函数
image_file = 'your_image.jpg' # 替换为你需要分析的图片路径
histogram, _ = compute_gray_histogram(image_file)
# 可能你会想要绘制直方图
cv2.imshow('Gray Histogram', plt.bar(bins[:-1], histogram, width=1))
cv2.waitKey(0) # 等待用户按键,然后关闭窗口
阅读全文