基于OpenCV3和Python3写一段直方图均衡化算法
时间: 2024-05-18 17:05:26 浏览: 14
import cv2
import numpy as np
# 读取图像
img = cv2.imread('input.jpg', 0)
# 直方图均衡化
equ = cv2.equalizeHist(img)
# 显示原图和处理后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Equalized Image', equ)
cv2.waitKey(0)
# 保存处理后的图像
cv2.imwrite('output.jpg', equ)
相关问题
opencv-python 图像直方图和直方图均衡化
OpenCV-Python是一个开源的计算机视觉库,提供了丰富的图像处理和计算机视觉算法。其中,图像直方图和直方图均衡化是图像处理中常用的技术。
1. 图像直方图:
图像直方图是一种统计图,用于表示图像中各个灰度级别的像素数量。它可以帮助我们了解图像的亮度分布情况。直方图通常以灰度级别为横坐标,像素数量为纵坐标进行绘制。通过分析直方图,我们可以得到图像的亮度信息,进而进行后续的图像处理操作。
2. 直方图均衡化:
直方图均衡化是一种用于增强图像对比度的方法。它通过重新分布图像的灰度级别,使得图像中各个灰度级别的像素数量尽可能均匀分布。这样可以使得图像的亮度范围更广,细节更加清晰。直方图均衡化的过程包括以下几个步骤:
- 计算原始图像的灰度直方图;
- 计算累积分布函数(CDF);
- 根据CDF对原始图像进行灰度级别映射,得到均衡化后的图像。
通过直方图均衡化,我们可以改善图像的视觉效果,使得图像更加清晰、对比度更强。
用opencv写一个自适应直方图均衡化
对于图像处理中的直方图均衡化操作,传统的方法是对整幅图像进行全局的直方图均衡化,但是该方法存在一些缺陷,例如处理后的图像可能会出现过度增强的现象,同时在一些区域中会出现过度降低的现象。为了解决这些问题,可以使用自适应直方图均衡化(AHE)来处理图像。
AHE算法的基本思想是将整幅图像分成若干个小区域,然后对每个小区域进行直方图均衡化。这样做的主要好处是可以避免全局的过度增强和降低现象,同时能够更好地保留图像的细节和纹理信息。
下面是使用OpenCV实现自适应直方图均衡化的代码:
```python
import cv2
# 读取图像
img = cv2.imread('img.png', cv2.IMREAD_GRAYSCALE)
# 定义区域大小和对比度
tile_size = 32
clip_limit = 3.0
# 创建CLAHE对象
clahe = cv2.createCLAHE(clipLimit=clip_limit, tileGridSize=(tile_size, tile_size))
# 对图像进行自适应直方图均衡化
img_clahe = clahe.apply(img)
# 显示原始图像和处理后的图像
cv2.imshow('Original Image', img)
cv2.imshow('CLAHE Image', img_clahe)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,首先读取了需要处理的图像,然后定义了区域大小和对比度参数。接着使用`cv2.createCLAHE()`函数创建CLAHE对象,并传入上述参数。最后调用`clahe.apply()`函数对图像进行自适应直方图均衡化,得到处理后的图像。最后使用`cv2.imshow()`函数显示原始图像和处理后的图像。
需要注意的是,自适应直方图均衡化的效果取决于区域大小和对比度参数的选择,需要根据实际情况进行调整。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)