opencv-直方图均衡化

直方图均衡化是一种用于增强图像对比度的图像处理技术。它通过调整图像的灰度级别分布,使得图像中各个灰度级别的像素分布更均匀,从而提高图像的对比度。

在OpenCV中,你可以使用cv2.equalizeHist()函数来进行直方图均衡化。

以下是一个简单的示例:

python 复制代码
 
import cv2
import matplotlib.pyplot as plt

# 读取灰度图像
img = cv2.imread(r"C:\Users\mzd\Desktop\opencv\2.jpg", cv2.IMREAD_GRAYSCALE)

# 进行直方图均衡化
equ = cv2.equalizeHist(img)

# 绘制原始图像和均衡化后的图像
plt.figure(figsize=(8, 4))

plt.subplot(1, 2, 1)
plt.imshow(img, cmap='gray')
plt.title('Original Image')

plt.subplot(1, 2, 2)
plt.imshow(equ, cmap='gray')
plt.title('Equalized Image')

plt.show()

# 显示原始图像和均衡化后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Equalized Image', equ)

# 等待用户按下任意键
cv2.waitKey(0)
cv2.destroyAllWindows()

在这个示例中,我们首先读取了一幅灰度图像,然后使用 cv2.equalizeHist() 函数进行直方图均衡化。最后,我们使用 Matplotlib 绘制了原始图像和均衡化后的图像。

cv2.equalizeHist() 是 OpenCV 中用于进行直方图均衡化的函数。该函数的基本语法如下:

python 复制代码
dst = cv2.equalizeHist(src)

参数说明:

  • src: 输入图像,通常为灰度图像。

返回值:

  • dst: 均衡化后的图像。

直方图均衡化可以在很大程度上提高图像的对比度,特别是当图像的灰度级别分布不均匀时。这在图像处理中经常用于改善图像的视觉效果。

相关推荐
Aileen_0v043 分钟前
【玩转OCR | 腾讯云智能结构化OCR在图像增强与发票识别中的应用实践】
android·java·人工智能·云计算·ocr·腾讯云·玩转腾讯云ocr
阿正的梦工坊2 小时前
深入理解 PyTorch 的 view() 函数:以多头注意力机制(Multi-Head Attention)为例 (中英双语)
人工智能·pytorch·python
Ainnle2 小时前
GPT-O3:简单介绍
人工智能
OceanBase数据库官方博客2 小时前
向量检索+大语言模型,免费搭建基于专属知识库的 RAG 智能助手
人工智能·oceanbase·分布式数据库·向量数据库·rag
测试者家园2 小时前
ChatGPT助力数据可视化与数据分析效率的提升(一)
软件测试·人工智能·信息可视化·chatgpt·数据挖掘·数据分析·用chatgpt做软件测试
西猫雷婶2 小时前
python学opencv|读取图像(十九)使用cv2.rectangle()绘制矩形
开发语言·python·opencv
Loving_enjoy4 小时前
ChatGPT详解
人工智能·自然语言处理
人类群星闪耀时4 小时前
深度学习在灾难恢复中的作用:智能运维的新时代
运维·人工智能·深度学习
图王大胜4 小时前
模型 确认偏误(关键决策)
人工智能·职业发展·管理·心理·认知·决策