【问题标题】:Adaptive hole filling in regards of the adjacent regions关于相邻区域的自适应空洞填充
【发布时间】:2017-09-21 05:44:13
【问题描述】:

我有以下问题,最好用这张图来解释:

我有一个带有边缘(白线)的孔(蓝色)。 我现在想用它旁边区域的颜色填充这个洞。 所以在白线上方应该是黄色,在白线下方应该是红色。

有没有一种算法可以做类似的事情我可以适应? 甚至可能在 openCV 中实现?

编辑
好的,也许可以指定:白线来自边缘检测并且不规则。大图上也有很多这样的蓝点,需要根据相邻的颜色计算每个点的颜色

EDIT2:添加了一个更好的包含整个场景的示例图像: 进一步澄清:只有蓝色的“洞”应该被填充,因为它们是我们知道的错误区域。白色对象边缘取自本示例的基本事实,比我们实际可以使用的数据更精确。不过,有可能获得该边缘的近似值。

顺便说一下,数据是来自多摄像头扫描的深度图。目标是填充由物体阴影引起的错误区域。如果一个物体不能被 2 个相机视图看到,因为它被混淆了,就无法进行深度估计。

【问题讨论】:

  • 你为什么不自己编码呢?它非常简单......无需调整现有算法。
  • 你知道白线的方程式吗?如果是这样,它确实很简单:只需用黄色填充线条上方的所有内容,否则用红色填充。如果您不知道白线的方程式,则必须使用蓝色像素拟合一条线。
  • 好的,也许可以指定:白线来自边缘检测并且不规则。大图上也有很多这样的蓝点,需要根据相邻的颜色计算每个点的颜色。
  • 请考虑提供更好的示例图像,以便人们更好地了解您的需求 - 即在所有三种颜色同时交汇的地方添加一种颜色。
  • 应该更改纯蓝色像素,而不更改其他明显不正确的颜色吗?

标签: opencv image-processing


【解决方案1】:

你想看看OpenCV的函数floodFill。

此函数有一个输入掩码参数,您可以使用它来指定两个彩色区域之间的白线。

【讨论】:

  • 我认为问题在于黄色区域可能有两个、三个或更多其他侧面,每个侧面都与另一个不同的颜色相邻。
【解决方案2】:

我找到了解决问题的方法:openCV 有一个inpaint 函数。 我将根据this paper 进行修改。我的情况应该可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-16
    • 2014-08-21
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 2021-08-11
    相关资源
    最近更新 更多