直方图均衡化phython
时间: 2024-06-17 19:04:42 浏览: 85
python实现直方图均衡化(用opencv实现)
直方图均衡化是一种常见的图像增强方法,它的目的是增加图像的对比度和亮度,使得图像更加清晰,便于后续的图像处理或分析。在直方图均衡化中,我们首先需要对图像的像素值进行统计,然后根据像素值出现的频率来调整像素值的分布,使得像素值的分布更加均匀,从而实现对比度增强的效果。
在Python中,我们可以使用OpenCV库提供的函数cv2.equalizeHist()来实现直方图均衡化。具体步骤如下:
1. 读入图像,将其转换为灰度图像。
2. 使用cv2.calcHist()函数统计灰度图像的直方图。
3. 使用cv2.equalizeHist()函数对灰度图像进行直方图均衡化。
4. 显示处理后的图像。
以下是Python实现直方图均衡化的代码示例:
```
import cv2
# 读入图像并转换为灰度图像
img = cv2.imread('input.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 统计灰度图像的直方图
hist = cv2.calcHist([gray], , None, [256], [0, 256])
# 对灰度图像进行直方图均衡化
equ = cv2.equalizeHist(gray)
# 显示处理前后的图像
cv2.imshow('Input', gray)
cv2.imshow('Output', equ)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文