使用OpenCV / Matlab,我正在计算视差图。我使用OpenCV SGBM函数来获取它。 结果很好。我的图像中有一点噪音。使用Matlab中的medfilt2,我删除了很多坏像素。
但是,如果噪声比实际数据更多,则会产生异常区域(在工厂下面)。我想删除所有。我正在寻找一种更好的方法吗?
使用中值滤波器,至少图像在地平面上投射的点越少,图像顶部产生的点就越少。
我的假设是:
我不知道怎么做。我正在寻找可以帮助我的好过滤方法。我也可以使用Matlab和OpenCV。
这是我的形象示例:
带噪声的视差图(左)和带有medfilt的视差图(右)
用嘈杂的视差图生成点云。
用medfilt视差图生成的点云。
修改
medfilt2的问题在于我使用的窗户大小为65.因此它适用于大型植物,但是靠近地面的植物会失去形状并变得圆润并与地面融合。这是medfilt的正常做法。但我想避免这种情况,我正在寻找能够在结束时提供更好结果和更少噪音的滤波器。