【问题标题】:Eliminate saturated areas in Opencv消除 Opencv 中的饱和区域
【发布时间】:2021-11-16 08:08:47
【问题描述】:

我正在阅读一篇关于图像融合图像处理的论文,其中提到消除饱和区域。是这样的:

长时间曝光图像的饱和像素不包括在估计中。

通过重新设置比最大值 255 更接近阈值的联合直方图条目来消除饱和区域(在我们的工作中,我们使用阈值 10)

这里有些东西我不明白,比如“饱和像素”、“饱和区域”、“重新设置”和“比最大值更接近阈值”。我怎样才能确定它们,我可以用 Python 中的 OpenCV 做到这一点吗? 先感谢您。对不起我的英语不好。

这是论文链接: Image enhancement method via blur and noisy image fusion

【问题讨论】:

  • 在 S(饱和度)通道上转换为 HSV 颜色空间和阈值以找到高饱和度区域。
  • 你能解释一下第二个想法:通过重新设置比最大值 255 更接近阈值的联合直方图条目来消除饱和区域(在我们的工作中,我们使用了阈值 10)跨度>
  • 你有正确的链接吗?我没有在其中看到这些陈述。
  • @fmw42 "saturation" 这里是指传感器削波,而不是颜色饱和度。
  • @fmw42 我做了一点改动,但你可以在第 2 部分第 3 步中找到这些语句

标签: opencv image-processing


【解决方案1】:

当在图像区域的某些部分测量到的强度与到达传感器的光量不成比例时,就称相机传感器已饱和。将像素站点视为一个“智能”存储桶,它计算在一定曝光时间内落入其中的光子。计数器只能增长这么多(例如,对于 8 位计数器,最多为 255),因此,如果在曝光时间内到达的光子过多,无论此后有多少光到达,它都会达到 255 并保持固定。像素看起来是白色的。在某些类型的传感器(例如 CCD)中,情况会变得更糟:饱和像素也会“溢出”计数到相邻的不饱和像素上,导致图像中的白色“条纹”甚至远离明亮物体的图像在导致饱和的场景中 - 例如,太阳。

饱和度会对许多图像处理算法产生不利影响,这些算法依赖于图像强度与场景光辐射的平滑、大致线性关系,因此必须注意以特殊方式识别和处理图像中的饱和区域,如果任何都存在。

要检测图像中的饱和区域,不应关注“255”值(对于 8bpp):在没有饱和的情况下像素可以是白色的。而是应该注意更一般的属性:

  • 如果传感器具有相当高的分辨率,饱和通常发生在图像的区域(“补丁”)中,而不是孤立的像素中。
  • 饱和度是由场景和图像强度之间缺乏线性关系定义的,而不是由像素范围顶部的值定义:8bpp 传感器的区域可能在 250 级别饱和,例如,传感器在该值处饱和。这就是为什么您提到的论文的作者使用低于最大值 10 级的阈值。

【讨论】:

  • 您的回答非常有用,先生。那么我应该做的是将所有像素值从 255 更改为 245?
  • 先生,您能回复我吗?
猜你喜欢
  • 2014-05-10
  • 2020-07-11
  • 1970-01-01
  • 1970-01-01
  • 2018-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多