使用OpenCV/Matlab,我正在计算一个视差图。我使用OpenCV的SGBM函数来获得它。结果很好。我的形象里有一点噪音。使用Matlab中的medfilt2,我删除了许多坏像素。
但是在噪音比真实数据更多的地方,产生了异常区(工厂下面的东西)。我想把所有的。我在找更好的方法吗?
使用中值滤波器,至少图像在地面上得到较少的投影点,而在图像顶部生成的点较少。
我的假设是:
我不知道该怎么做。我在寻找一种很好的过滤方法,也许可以帮到我。我也可以使用Matlab和OpenCV。
这里是我形象的一个例子:
带噪声视差图(左)和带髓心视差图(右)


用噪声视差图生成点云。

点云生成的medfilt视差图。

编辑
medfilt2的问题是,我使用的窗口大小为65。所以这对大植物是有好处的,但是靠近地面的植物会失去形状,与地面融为一体。这是正常的,这就是麦德福所做的。但我想避免这种情况,我正在寻找一个过滤器,它能提供更好的结果和更少的噪音。
发布于 2013-11-29 07:40:02
你可以给来自StatisticalOutlierRemoval的PointCloudLibrary一个机会。您可以找到一个有用的教程这里,以及一个示例。
https://stackoverflow.com/questions/20269594
复制相似问题