opencv亮度均衡化处理python
时间: 2024-07-19 16:01:26 浏览: 174
OpenCV是一个开源计算机视觉库,它提供了许多图像处理功能,包括亮度均衡化。在Python中,可以使用OpenCV的`cv2.equalizeHist()`函数来进行亮度均衡化。这个函数会统计输入图像中每个像素值出现的频率,并创建一个新的直方图,然后将原始像素映射到新的直方图上,使得图像的整体亮度分布更均匀。
下面是一个简单的例子:
```python
import cv2
import numpy as np
# 读取图像
image = cv2.imread('example.jpg', cv2.IMREAD_GRAYSCALE)
# 对图像进行亮度均衡化
equaled_image = cv2.equalizeHist(image)
# 显示原图和处理后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Equalized Image', equaled_image)
cv2.waitKey(0) # 等待用户按键
cv2.destroyAllWindows() # 关闭所有窗口
相关问题
python opencv局部亮度均衡化处理
在Python的OpenCV库中,局部亮度均衡化是一种图像增强技术,用于改善图像对比度,特别适用于那些光照不均匀的场景。它通过对每个像素周围一小区域内的灰度值进行统计分析,然后计算出该像素的新灰度值,使其相对于其邻域内的像素更均匀。
`cv2.createCLAHE()`函数是OpenCV提供的用于局部对比度均值适应(Local Contrast Adaptive Histogram Equalization, CLAHE)的核心工具。下面是一个简单的例子:
```python
import cv2
import numpy as np
# 读取图像
image = cv2.imread('input_image.jpg', cv2.IMREAD_GRAYSCALE)
# 创建CLAHE对象,设置大小和邻域
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
# 对图像应用CLAHE
equalized = clahe.apply(image)
# 显示原图和处理后的图像
cv2.imshow("Original Image", image)
cv2.imshow("Equalized Image", equalized)
# 等待用户按键并关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,`clipLimit`参数控制了亮度调整的程度,`tileGridSize`指定了统计区域(也称为“tiles”)的大小。
opencv-python 亮度均衡化
OpenCV-Python 是一个流行的计算机视觉库,它提供了一系列图像处理函数,包括亮度均衡化。亮度均衡化是一种增强图像对比度的技术,通常用于改善图像的整体亮度分布,使暗部细节和亮部区域更易于辨认。OpenCV 中常用的一种亮度均衡化算法是直方图均衡化(Histogram Equalization),其基本原理是调整像素值的映射,使得每个像素值的概率分布均匀。
以下是使用 OpenCV-Python 实现简单亮度均衡化的步骤:
```python
import cv2
import numpy as np
# 读取图像
image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
# 应用直方图均衡化
equ_hist = cv2.equalizeHist(image)
# 显示原图和处理后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Equalized Image', equ_hist)
# 等待用户按键并关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,`cv2.equalizeHist()` 函数会返回一个新的灰度图像,其中每个像素的强度都进行了调整,以使得整个图像的亮度分布更加均匀。
阅读全文