opencv增强图像对比度
时间: 2024-10-10 13:05:32 浏览: 74
opencv调整图像亮度对比度的示例代码
在OpenCV中增强图像的对比度可以帮助突出图像中的细节,使得较暗和较亮的部分更加明显。增强对比度的一种常见方法是通过直方图均衡化(Histogram Equalization),它会调整像素值分布,使得整个图像的亮度范围变得更均匀。
以下是使用OpenCV Python进行直方图均衡化的简单步骤:
```python
import cv2
import numpy as np
def enhance_contrast(image_path):
# 读取图片
img = cv2.imread(image_path)
# 确保是灰度图像(如果是彩色,则先转换)
if len(img.shape) == 3 and img.shape[2] == 3:
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 应用直方图均衡化
eq_img = cv2.equalizeHist(img)
return eq_img
# 使用函数并显示结果
enhanced_image = enhance_contrast('your_image.jpg')
cv2.imshow("Enhanced Image", enhanced_image)
cv2.waitKey(0) # 按任意键关闭窗口
```
在这个示例中,`cv2.equalizeHist()`函数负责执行直方图均衡化,它可以显著提升图像的对比度。
阅读全文