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: 均衡化后的图像。

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

相关推荐
kalvin_y_liu1 分钟前
人体动作理解和人机共享控制两个研究方向的核心内容
人工智能·具身数据模型
浔川python社1 分钟前
AI 生成视频盛行,会带来哪些利与弊
人工智能
AI科技星2 分钟前
《全域数学》第一部:数术本源·第二卷《算术原本》之十四附录(二)全域数学体系下三大数论猜想的本源推演与哲学阐释【乖乖数学】
人工智能·线性代数·机器学习·量子计算·agi
qcx232 分钟前
拆解 Warp AI Agent(一):类型即协议——23 种 Action 的编译期安全设计
人工智能·安全·ai·agent·源码解析·warp
蔡俊锋2 分钟前
AI进阶运营:从信息爆炸到智能掌控
人工智能·chatgpt·ai进阶运营
weixin_511840473 分钟前
2026年4月23日 Hermes Agent 与 OpenClaw 深度对比研究
人工智能
乱世刀疤4 分钟前
如何写好GPT Image 2 提示词
人工智能
HERR_QQ6 分钟前
端到端课程自用 5 规划 基于Difussion 的端到端planner AI 笔记
人工智能·笔记·学习·自动驾驶
一点一木7 小时前
🚀 2026 年 4 月 GitHub 十大热门项目排行榜 🔥
人工智能·github
淡海水8 小时前
【AI模型】常见问题与解决方案
人工智能·深度学习·机器学习