在 Google 中搜索 直方图均衡 Python 或 对比度拉伸 Python 我被定向到来自 OpenCv 中 python 文档的相同链接,它们实际上都与均衡相关而不是拉伸(IMO)。
阅读文档,它似乎与措辞混淆,因为它将均衡描述为拉伸操作:
Histogram Equalization 所做的就是拉长这个范围。
和
因此,您需要将此直方图拉伸到两端(如下图所示,来自维基百科),这就是直方图均衡所做的(简单来说)
我觉得这是错误的,因为在维基百科上没有任何地方说 直方图均衡 意味着拉伸,并且阅读其他来源,他们清楚地区分了这两种操作。
- http://homepages.inf.ed.ac.uk/rbf/HIPR2/histeq.htm
- http://homepages.inf.ed.ac.uk/rbf/HIPR2/stretch.htm
我的问题:
OpenCV 文档是否实际上实现了直方图均衡化,同时解释得很糟糕?
- 在 Python 中是否有任何对比度拉伸的实现? (OpenCV 等?)
原文由 RMS 发布,翻译遵循 CC BY-SA 4.0 许可协议
OpenCV 没有任何用于对比度拉伸的函数,而 google 会产生相同的结果,因为直方图均衡化 确实会 水平拉伸直方图,但它只是变换函数的差异。 (这两种方法都增加了图像的对比度。转换函数将像素强度级别从给定范围转移到所需范围。)
直方图均衡化从给定图像的概率密度函数 (PDF) 中自动导出变换函数 (TF),而与对比拉伸不同的是,您可以根据应用程序的要求指定自己的 TF。
一个简单的 TF,您可以通过它进行对比度拉伸
min-max
对比度拉伸 -您为每个像素值执行此操作。 min 和 max 是最小和最大强度。