从两个图像的特征提取中获得视差图

时间:2019-07-01 18:43:10

标签: matlab computer-vision feature-extraction matlab-cvst disparity-mapping

我对如何从一个场景的两个图像中获得视差图有一些理解上的问题。 我目前可以提取一些特征点并过滤它们,以便仅显示正确的对应关系(可以说我总共可以获得60个特征点)。

要获得x1和x2的差异,我知道我必须这样做:

d = x1 - x2;

我的问题是如何从这里继续。这两张图片都具有1000x1500像素,而我仅得到60像素的视差(因为我有60个特征点)。 我如何获得其他差异?

我当前的代码(在Matlab中,自己编写)无法提取超过一定数量的功能。

我应该寻找更好的提取算法吗? 还是有其他方法可以从当前数据中获得差异? (我还可以计算旋转矩阵R,平移矩阵T,基本矩阵E,我有基线,两个摄像机的校准矩阵等等。)

我使用2014年以来的Middleburry立体声数据集。 http://vision.middlebury.edu/stereo/data/scenes2014/

请提前寻求帮助:)(对不起,如果有拼写错误)

1 个答案:

答案 0 :(得分:0)

视差图通常与密集立体视觉相关。

相反,借助特征提取,您处于稀疏域。

密集立体匹配算法将帮助您获得视差图。有关Matlab实例,请参见https://ww2.mathworks.cn/help/vision/ref/disparitybm.html;有关OpenCV实现,请参见https://docs.opencv.org/3.4/d2/d85/classcv_1_1StereoSGBM.html

通常的想法是,使用密集方法尝试在左右图像之间匹配像素(或更常见的块)。

this答案和上面链接的文档中的更多信息。