opencv python 图像亮度均衡化
时间: 2023-07-08 11:05:56 浏览: 157
图像亮度均衡化是一种常用的图像增强技术,它可以使图像的整体亮度更加均匀,提高图像的视觉效果和识别率。在 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() 函数等待用户按下任意按键关闭显示窗口。
注意:在进行图像亮度均衡化之前,需要将图像转换为灰度图像。如果图像是彩色图像,则需要先将其转换为灰度图像,然后再进行亮度均衡化。
相关问题
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的`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() # 关闭所有窗口