• 大小: 4KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-17
  • 语言: Matlab
  • 标签: DLT  MATLAB  

资源简介

DLT(直接线性变换 )算法的MATLAB实现,内容包括算法代码及三组测试数据

资源截图

代码片段和文件信息

function [ Lx0y0] = Computer_L( Points )
%功能:计算L系数的近似值和精确值
%输入:Points为控制点的像点坐标及物方坐标
      %格式为:点号 x y X Y Z
%输出:L系数的精确值,像主点坐标想x0y0

%计算L系数近似值
X=zeros(2*size(Points1)11);
B=zeros(2*size(Points1)1);
for i=1:size(Points1);
    X(2*i-11:3)=Points(i4:6);
    X(2*i-14)=1;
    X(2*i-19:11)=Points(i2)*Points(i4:6);
    X(2*i5:8)=X(2*i-11:4);
    X(2*i9:11)=Points(i3)*Points(i4:6);
    B(2*i-11)=Points(i2);
    B(2*i1)=Points(i3);
end
L=X(1:11:)\(-B(1:111));
%计算像主点近似值x0y0
x0=-(L(1)*L(9)+L(2)*L(10)+L(3)*L(11))/(L(9)*L(9)+L(10)*L(10)+L(11)*L(11));
y0=-(L(5)*L(9)+L(6)*L(10)+L(7)*L(11))/(L(9)*L(9)+L(10)*L(10)+L(11)*L(11));
%计算L系数精确值
M=zeros(2*size(Points1)12);
W=zeros(2*size(Points1)1);
n=0;                           %迭代次数统计
while n<10;   %L迭代次数为10
    for i=1:6;
        A=L(9)*Points(i4)+L(10)*Points(i5)+L(11)*Points(i6)+1;
        M(2*i-11:4)=[Points(i4:6) 1]/A;
        M(2*i-19:11)=Points(i2)* M(2*i-11:3);
        R=(Points(i2)-x0)^2+(Points(i3)-y0)^2;
        M(2*i-112)=(Points(i2)-x0)*R;
        M(2*i5:8)=M(2*i-11:4);
        M(2*i9:11)=Points(i3)* M(2*i-11:3);
        M(2*i12)=(Points(i3)-y0)*R;
        W(2*i-11)=Points(i2)/A;
        W(2*i1)=Points(i3)/A;
    end
    M=-M;
    L=(M‘*M)\M‘*W;
    x0=-(L(1)*L(9)+L(2)*L(10)+L(3)*L(11))/(L(9)*L(9)+L(10)*L(10)+L(11)*L(11));
    y0=-(L(5)*L(9)+L(6)*L(10)+L(7)*L(11))/(L(9)*L(9)+L(10)*L(10)+L(11)*L(11));
    n=n+1;
end
end


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1570  2018-06-12 19:25  DLT的MATLAB实现\Computer_L.m

     文件       3492  2018-06-12 19:37  DLT的MATLAB实现\Computer_UnknownPoint.m

     文件        311  2018-06-27 22:54  DLT的MATLAB实现\DLT.m

     文件        330  2018-06-12 21:59  DLT的MATLAB实现\left_ran2.txt

     文件        328  2018-06-12 18:30  DLT的MATLAB实现\right_ran2.txt

     文件        499  2018-06-12 12:44  DLT的MATLAB实现\test1.txt

     文件       1466  2018-06-12 22:51  DLT的MATLAB实现\test2.txt

     文件       1883  2018-06-12 19:02  DLT的MATLAB实现\test3.txt

     目录          0  2019-02-26 17:47  DLT的MATLAB实现

----------- ---------  ---------- -----  ----

                 9879                    9


评论

共有 条评论