我被困在这个单应性问题上。我必须应用单应性然后 2d 双线性插值来渲染图像,以便我看到鸟瞰图。
我成功地计算了单应性(我猜)。我无法弄清楚如何将此单应矩阵应用于源图像以在空白 940x500 图像上生成输出图像。
到目前为止,这是我的代码:
I = imread('image.png');
imshow(I)
% Mark more than 4 input points
[x,y] = getpts
xp = [0; 720; 720; 0;];
yp = [0; 0; 1280; 1280;];
for i=1:4
A(2*i-1,:) = [x(i), y(i), 1, 0, 0, 0, -x(i)*xp(i), -xp(i)*y(i), -xp(i)];
A(2*i,:) = [0, 0, 0, x(i), y(i), 1, -x(i)*yp(i), -yp(i)*y(i), -yp(i)];
end
[U,S,V] = svd(A);
h = V(:,9);
H = reshape(h,3,3);
如何将此 H 矩阵应用于源图像?