opencv python 图像亮度均衡化
时间: 2023-07-08 18:05:56 浏览: 181
图像亮度均衡化是一种常用的图像增强技术,它可以使图像的整体亮度更加均匀,提高图像的视觉效果和识别率。在 OpenCV 中,可以使用 cv2.equalizeHist() 函数实现图像亮度均衡化。
以下是一个简单的 Python 代码示例:
```python
import cv2
img = cv2.imread('image.jpg', 0) # 读取灰度图像
equ = cv2.equalizeHist(img) # 图像亮度均衡化
cv2.imshow('image', equ)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
首先,使用 cv2.imread() 函数读取一张灰度图像。然后,使用 cv2.equalizeHist() 函数对图像进行亮度均衡化。最后,使用 cv2.imshow() 函数显示均衡化后的图像,并使用 cv2.waitKey() 函数等待用户按下任意按键关闭显示窗口。
注意:在进行图像亮度均衡化之前,需要将图像转换为灰度图像。如果图像是彩色图像,则需要先将其转换为灰度图像,然后再进行亮度均衡化。
相关问题
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()` 函数会返回一个新的灰度图像,其中每个像素的强度都进行了调整,以使得整个图像的亮度分布更加均匀。
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”)的大小。
阅读全文