2

我想将单应性应用于卫星图像。我发现这篇文章很有帮助。所以我决定使用相同的 Matlab 代码。

 im = imread('cameraman.tif');
 n = [0;0;-1];
 d = Inf

       theta = 60*pi/180;

       R = [ 1     0           0 ;
           0  cos(theta) -sin(theta);
           0  sin(theta)  cos(theta)];

       t = [0;0;0];

      K=[300 0    0;
            0    300 0;
            0    0    1];

      H=K*R/K-1/d*K*t*n'*K;

     img=imagehomog(im,H','c');
     figure;imshow(img)

但输出只是小盒子。我正在使用 MATLAB 2015b 在此处输入图像描述

使用imtransform编辑单应性maketform

n = [0;0;-1];
d = Inf;

im = imread('cameraman.tif');

   theta = 60*pi/180;

   R = [ 1     0           0 ;
       0  cos(theta) -sin(theta);
       0  sin(theta)  cos(theta)];

   t = [0;0;0];

  K=[300 0    0;
        0    300 0;
        0    0    1];

  H=K*R/K-1/d*K*t*n'*K;

  tform = maketform('projective',H');
  imT = imtransform(im,tform);

  imshow(imT)

输出 在此处输入图像描述

我怎样才能从中心做到这一点。像这样的东西 在此处输入图像描述

4

0 回答 0