要获得x1和x2的差异,我知道我必须这样做:
d = x1 - x2;
我的问题是如何从这里继续。这两张图片都具有1000x1500像素,而我仅得到60像素的视差(因为我有60个特征点)。 我如何获得其他差异?
我当前的代码(在Matlab中,自己编写)无法提取超过一定数量的功能。
我应该寻找更好的提取算法吗? 还是有其他方法可以从当前数据中获得差异? (我还可以计算旋转矩阵R,平移矩阵T,基本矩阵E,我有基线,两个摄像机的校准矩阵等等。)
我使用2014年以来的Middleburry立体声数据集。 http://vision.middlebury.edu/stereo/data/scenes2014/
请提前寻求帮助:)(对不起,如果有拼写错误)
答案 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答案和上面链接的文档中的更多信息。