使用Octave中的控制点扭曲图像

时间:2016-11-04 18:28:20

标签: octave transformation

我必须在Octave中创建一个函数,它接收单色图像和带有原始点和目标点的矩阵。 我已经看到了其他答案,但这不是我必须做的事情。

Example

这是我迄今为止所做的。矩阵" Entrada"是我用来测试的切入点。

Entrada = [1      1      50      50; 
       1      350    1       300; 
       390    1      390     1;
       390    350    300     350];

L =  [Entrada(1,3);
      Entrada(1,4);
      Entrada(2,3);
      Entrada(2,4);
      Entrada(3,3);
      Entrada(3,4);
      Entrada(4,3);
      Entrada(4,4)]

A = [Entrada(1,1) Entrada(1,2) 1 0 0 0 -(Entrada(1,1) * Entrada(1,3)) -(Entrada(1,2) * Entrada(1,3));
     0 0 0 Entrada(1,1) Entrada(1,2) 1 -(Entrada(1,1) * Entrada(1,4)) -(Entrada(1,2) * Entrada(1,4));
     Entrada(2,1) Entrada(2,2) 1 0 0 0 -(Entrada(2,1) * Entrada(2,3)) -(Entrada(2,2) * Entrada(2,3));
     0 0 0 Entrada(2,1) Entrada(2,2) 1 -(Entrada(2,1) * Entrada(2,4)) -(Entrada(2,2) * Entrada(1,4));
     Entrada(3,1) Entrada(3,2) 1 0 0 0 -(Entrada(3,1) * Entrada(3,3)) -(Entrada(3,2) * Entrada(3,3));
     0 0 0 Entrada(3,1) Entrada(3,2) 1 -(Entrada(3,1) * Entrada(3,4)) -(Entrada(3,2) * Entrada(3,4));
     Entrada(4,1) Entrada(4,2) 1 0 0 0 -(Entrada(4,1) * Entrada(4,3)) -(Entrada(4,2) * Entrada(4,3));
     0 0 0 Entrada(4,1) Entrada(4,2) 1 -(Entrada(4,1) * Entrada(4,4)) -(Entrada(4,2) * Entrada(4,4))]

AT = A';

X = (inv(AT*A))*AT*L;

T = [X(1,1) X(2,1) X(3,1);
     X(4,1) X(5,1) X(6,1);
     X(7,1) X(8,1) 1]

我有转换矩阵,我必须将原始点与新图像相关联。我必须对每个点使用变换矩阵,然后使用齐次坐标正确吗?

任何人都可以帮我吗?

此致

0 个答案:

没有答案