前言
单一视图的像素坐标只能把空间点约束在某一条射线上。如果我们可以把同空间点定位在另一张图像中,且已知该图像是从不同的位姿拍摄的,那么就可以确定这个空间点所在的另一条射线。最后,两条射线的相点就是空间点所在的位置一这个过程称为三角测量或者三维重构。本博客介绍使用视觉工具箱对多幅图像进行操作的方法。
特征匹配
特征匹配问题是在两幅不同视角的图像中找出对应于实际空间中同一点的像素坐标。示例如下。
%读取本地图像
im1 = iread( 'eiffel2-1.jpg', 'mono', 'double') ;
im2 = iread( 'eiffel2-2.jpg', 'mono', 'double') ;
%计算每一幅图像的SURF特征
s1 = isurf (im1);
s2 = isurf (im2 );
%基于SURF描述符之间的距离来匹配两组SURF特征:
m = s1.match(s2);
m(1:5)
figure(1);
idisp({
im1,im2});
% 在两幅原始图像上叠加这些匹配的一个子集
m.subset(100).plot('w');
m2 = s1. match