在上一步骤——双目校正的基础上可以很方便的获取视差图。视差即空间中同一点在左右目图像上的水平位置差。
自己凭感觉(不知道对错的)总结了一下,主要分为两大类:基于兴趣点的,不基于兴趣点的。
基于兴趣点的:需要先找到一幅图像中的特征点(也可以是两幅图像中的特征点,基于SIFT特征的匹配即是这种情况,不过对于特征并不唯一的特征点提取方法还是只找一幅图像中的特征点为好),再在另一幅图像中的同一及线上的一定范围内搜索,搜索相似的方法有很多,如:相关度,SAD,SSD等等。
不基于兴趣点的:假定一幅图像中的每一像素点都是兴趣点,再在另一幅图片中找对应像素点。
我的实验
前期:利用H.P Moravec的论文《Robot Spatial Perception by Stereoscopic Vision and 3D Evidence Grids》中的方法。一看就懂的,其中的Moravec兴趣算子是相当相当的古老了,只要把它稍改改就是harris算子。其实Moravec给出的代码中的Moravec算子实现很像Harris。以下是根据自己感觉上的理解编写的Moravec算子MATLAB代码。
function [out top]=HIns(img,rows,cols)
%[rows cols]=size(img);
Vp=zeros(rows,cols);
thosd1=100;
thosd2=800; %高通滤波门限,可调
sqsize=7;
%%%%%%%%%%%%%%%%%%% Moravec算子框移动过程
for i=fix(sqsize/2)+1:sqsize:rows-fi