Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 关于相邻区域的自适应孔洞填充_Opencv_Image Processing - Fatal编程技术网

Opencv 关于相邻区域的自适应孔洞填充

Opencv 关于相邻区域的自适应孔洞填充,opencv,image-processing,Opencv,Image Processing,我有以下问题,最好用这张图片来解释: 我有一个带边(白线)的洞(蓝色)。 我现在想用它旁边区域的颜色来填充这个洞。 所以在白线上面应该是黄色,在白线下面应该是红色 有没有一种算法能让我适应类似的情况? 甚至可能是openCV中的一个实现 编辑 好的,也许可以指定:白线来自边缘检测和不规则。此外,在一张大图像上也有许多这样的蓝色斑点,它需要根据相邻的颜色计算每个斑点的颜色 EDIT2:添加了一个包含整个场景的更好的示例图像: 进一步澄清:只有蓝色的“洞”应该被填补,因为它们是我们知道的错误区域。

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

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

有没有一种算法能让我适应类似的情况? 甚至可能是openCV中的一个实现

编辑

好的,也许可以指定:白线来自边缘检测和不规则。此外,在一张大图像上也有许多这样的蓝色斑点,它需要根据相邻的颜色计算每个斑点的颜色

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


顺便说一下,数据是多摄像机扫描的深度图。目标是填充由对象阴影造成的错误区域。如果一个对象由于模糊而无法通过两个摄影机视图查看,则不可能进行深度估计。

可能需要查看调用的OpenCV函数


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

我找到了解决问题的方法:openCV有一个函数。
我会根据你的想法修改这个。对我的情况来说应该很好。

你为什么不自己编写代码呢?这很直接。。。不需要修改现有的算法。你知道白线的方程式吗?如果是这样的话,它确实非常简单:只要用黄色填充线条上方的所有内容,否则用红色填充即可。如果你不知道白线的方程,你将不得不用蓝色像素来拟合一条线。好的,也许可以指定:白线来自边缘检测和不规则。另外,在一个大的图像上也有许多蓝色的斑点,它需要根据相邻的颜色计算每个点的颜色。请考虑提供更好的样本图像,这样人们可以更好地理解你的需要——即一个额外的颜色,所有的三个颜色都在一个点相遇。蓝色像素是正确的吗?应该改变,而不是任何其他明显不正确的颜色?我认为问题是黄色区域可能有两个、三个或更多其他面,每个面邻接另一个不同的颜色。