本文最后更新于:2024年5月7日 下午
本文摘录 OpenCV 中的图像变换相关操作内容,重点介绍 Opencv 中的直方图均衡化操作。
直方图均衡
相机和图像传感器不仅可以适应场景中自然产生的对比度,还可以管理图像传感器在可用的光照水平下的曝光程度。在标准相机中,设置快门和镜头光圈以确保传感器既不太多也不太少。然而,对于传感器的可用动态范围,特定图像中的对比度范围往往太大。因此,捕获需要更长曝光时间的黑暗区域(例如阴影)和需要更短曝光的明亮区域之间存在权衡,以避免饱和“白化”。在许多情况下,在同一个图像中二者不可兼得。
- 直方图均衡数学背景是将一个分布(强度值的给定直方图)映射到另一个分布(强度值的更宽和理想的均匀分布)。也就是说,我们希望在新分配中尽可能均匀分布原始分布的y值。事实证明,解决扩展分布值的问题的一个好方法是:重映射函数应该是累积分布函数。如图所示,展示了累积分布函数的一个例子,对于原始纯高斯的密度分布有些理想化的情况。然而,累积密度可以应用于任何分布,原始分布的运行总和从负到正的范围。
- 我们可以使用累积分布函数将原始分布重新映射到均匀分布,只需查看原始分布中的每个y值,并查看在均衡分布中应该进行的位置。对于连续分布结果将是一个精确的均衡,但是对于数字离散分布,结果可能很不一致。
cv2.calcHist()
直方图统计
1 |
|
- 示例代码
1 |
|
numpy
也可以实现该直方图功能
1 |
|
cv2.equalizeHist()
灰度图的直方图均衡化
- 函数使用
1 |
|
- 示例代码
1 |
|
参考资料
-
《学习 OpenCV3》 第十一章
文章链接:
https://www.zywvvd.com/notes/study/image-processing/opencv/opencv-hist-eqa/opencv-hist-eqa/
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付
OpenCV 图像变换之 —— 直方图均衡化
https://www.zywvvd.com/notes/study/image-processing/opencv/opencv-hist-eqa/opencv-hist-eqa/