【问题标题】:How to remove a brightness gradient from an image?如何从图像中删除亮度渐变?
【发布时间】:2022-01-15 22:52:52
【问题描述】:

我有一个问题,希望你能帮助我。

我需要在面包店生产线上清点物品。不幸的是,这对于图像处理来说并不理想。 机器必须是可接近的,人们在机器旁走过和工作时会投下阴影。照明可能会略有不同,具体取决于打开的天花板灯以及日光。

但物体和运输带之间的对比度相当好。

通常图像看起来像这样:

这是生产线改造的一部分。人们需要准确地在相机所在的位置工作。你看到的是大约 1 厘米宽的面团线。有时它们会在几分钟后撕裂并弄乱机器。这是关键的地方,在这里你会发生混乱,这是人们修理的地方,也是你可以在面团进入烤箱之前看到面团的唯一地方。

图像的中心更亮,尤其是右四分之一通常更暗,甚至可能比图像中的更暗。

到目前为止我的方法是

  • 高斯模糊
  • 阈值
  • 形态开放(几次,愚蠢,幂等)
  • 查找轮廓

我无法手动找到一个 robost 的阈值,而 Otsu 的阈值也无法解决问题。门槛总是弄乱正确的季度。图像的另一部分就像一个魅力。

安装额外的灯可能会解决问题,但这不太可能很快发生。我试着用手电筒照亮右侧,然后它就像一个魅力。 :)

我还尝试了“正常”直方图均衡和 CLAHE,但没有成功。还有Automatic contrast and brightness adjustment of a color photo of a sheet of paper with OpenCV的建议,也没有改善。

所以,这个任务对我来说看起来很简单,但我运气不好,可能缺少一个简单的解决方案。

想法?

编辑:

remove gradient of a image without a comparison image 描述了 cmets 中提到的带通/低通滤波(大中值模糊或大高斯模糊)。

【问题讨论】:

  • 带通。运行大的中值模糊或高斯模糊。 减去。你留下了“信号”(注意负值)。在提到的所有其他方法中,只有 CLAHE 朝着相同的方向前进(关键是“本地自适应”),但您必须正确使用它。
  • 通常通过安装一个物理隧道更容易控制照明,该隧道内部有自己的照明,并防止环境光到达您的相机。
  • “Morphological Opening(多次)”令人惊讶,因为:(1)打开是幂等的,这意味着第二次应用相同的操作(具有相同的结构元素)不会进一步改变图像, (2) 开口是吸收性的,这意味着如果结构元素彼此“配合”(通常是这种情况),则可以用一个开口代替具有不同结构元素的一系列开口。在极少数情况下,一次应用多个开口是有趣的,除非您交错其他运算符。
  • @Micka,我完全同意这一点。这是生产线改造的一部分。人们需要准确地在相机所在的位置工作。你看到的是大约 1 厘米宽的面团线。有时它们会在几分钟后撕裂并弄乱机器。这是关键点,杂乱发生在这里,这是人们修理它的地方,也是在面团进入烤箱之前你可以看到面团的唯一地方。我们向技术人员提出了可能需要 LED 灯条的请求,但这可能需要几个月的时间,如果我能用软件解决它,也可能不需要。

标签: image opencv image-processing


【解决方案1】:

Otsu 在你的图像上就像一个魅力(价值 158),我想知道你为什么声称“Otsu 的阈值也不能解决问题。”

无论如何,对于较差的图像,解决方案是自适应阈值,其尺寸大于那些四边形。

【讨论】:

  • 谢谢你的回复,试试这个。是的,对于该图像它有效。您应该在小高斯模糊 (5,5) 之前还是之后应用 Otsu?对于自适应阈值的区域应该比四边形大多少,是否有经验法则? 3次? 10倍?还是更多的是反复试验?
  • @joe:没有点模糊,你为什么要这样做?
  • 有时传送带上有碎屑。我的想法是涂抹它们,使它们出现在阈值以下。打开或侵蚀两次会更好吗?
  • 显示示例图片,我不是占卜者。
  • 我现在没有,但问题中的图片,在左边第二行和第三行之间显示了一个相当小的图片。但它们的大小可以达到该尺寸的 5 倍左右,并且具有与线条相同的亮度。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多