立体声匹配

时间:2013-11-25 16:03:34

标签: matlab stereoscopy

我正在使用Camera Calibration Toolbox for Matlab。校准后,我有立体相机系统的内在和外在参数。接下来,我想确定相机系统和物体之间的距离。为了获得这些信息,我使用了工具箱中包含的stereo_triangulation函数。输入是两个矩阵,包括左右图像中对应的像素坐标。

我尝试使用基本块匹配方法获取对应关系的坐标,该方法在Matlab对Stereo Vision的帮助中有所描述。

我的照片分辨率为1280x960像素。我知道最大的差异是大约520像素。我将视差范围的最大值设置为520.但随后确定坐标需要的年龄。在实践中不可能使用。使用Matlab的函数disparity()计算视差图要快得多。但我想要前面的步骤 - 对应的坐标。

请问您能否建议我如何通过Matlab有效地获取坐标?

1 个答案:

答案 0 :(得分:1)

视差和3D通过简单公式相关(见下文),因此计算3D数据和视差图的时间应该相同。符号是

  • f - 以像素为单位的焦距,
  • B - 相机之间的分离,
  • u,v - 系统中以图像中间为中心的行和列,
  • d-disparity,
  • x,y,z - 3D坐标。

z=f*B/d;
x=z*u/f;
y=z*v/f;

1280x960分辨率太大,无法使任何相关立体声实时工作。想一想:你必须在2d图像,2d相关窗口以及差异范围内循环。这意味着5个嵌入式循环!我不再使用Matlab,但我知道它很慢。