错误使用 *
内部矩阵维度必须一致。
出错 calcDist (line 9)
pts3 = H*[pts1;ones(1,n)];
出错 estHomography (line 36)
dist = calcDist(f,x,y);
出错 main (line 28)
[H, inlierIdx] = estHomography(img1Dup,img2Dup,matchLoc2’,matchLoc1’);
代码:
function d = calcDist(H,pts1,pts2)
%pts1,pts2-特征点坐标[x1,x2,…;y1,y2,…]
%通过H将Pts1映射为pts3,然后计算pts2与pts3的距离
%输入:H-两平面转换矩阵;pts1,pts2特征点坐标
%输出:d-pts2与pts3的距离
n = size(pts1,2);
pts3 = H*[pts1;ones(1,n)];
pts3 = pts3(1:2,:)./repmat(pts3(3,:),2,1);
d = sum((pts2-pts3).^2,1);
end