91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.85MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-30
  • 語言: 其他
  • 標簽: DLT??C++??

資源簡介

本算法根據近景攝影測量中的直接線性變換(DLT算法)寫成,內含有兩個版本的數據以供試驗,注釋清晰,運行正常。

資源截圖

代碼片段和文件信息

//直接線性變換DLT
//2013.12.7

#include?
#include?
#include?
#include?“CMatrix.h“
using?namespace?std;

struct?P1
{
int?numbers;??//點號
double?xp?yp;
double?X?Y?Z;
};

struct?P2
{
int?numbers;??//點號
double?xl?yl;
double?xr?yr;
double?X?Y?Z;
};

void?ReadLData(double?*data?char?*s?int?&num)
{
ifstream?file1;
file1.open(s?ios::in|ios::out);
for?(int?i=0;?file1.eof()==0;?i++)
{
file1>>data[i];
}
num?=?data[0];
if?(num>=800)
{
cout<<“發生溢出錯誤!“< return;
}
file1.close();
}

void?Get_L(double?*X?double?*WF?P1?*ctrl?int?num)
{
//? double?*A?=?new?double[22*num];
//? double?*AT?=?new?double[22*num];
//? double?*L?=?new?double[2*num];
double?*A?=?new?double[22*6];
double?*AT?=?new?double[22*6];
double?*L?=?new?double[2*6];

double?ATA[121]?=?{0.0};
double?ATL[11]?=?{0.0};
//L系數的初始值計算
for?(int?i=0;?i<6;?i++)
{
A[?0+22*i]?=?ctrl[i].X;
A[?1+22*i]?=?ctrl[i].Y;
A[?2+22*i]?=?ctrl[i].Z;
A[?3+22*i]?=?1;
A[?4+22*i]?=?0;
A[?5+22*i]?=?0;
A[?6+22*i]?=?0;
A[?7+22*i]?=?0;
A[?8+22*i]?=?ctrl[i].xp*ctrl[i].X;
A[?9+22*i]?=?ctrl[i].xp*ctrl[i].Y;
A[10+22*i]?=?ctrl[i].xp*ctrl[i].Z;
A[11+22*i]?=?0;
A[12+22*i]?=?0;
A[13+22*i]?=?0;
A[14+22*i]?=?0;
A[15+22*i]?=?ctrl[i].X;
A[16+22*i]?=?ctrl[i].Y;
A[17+22*i]?=?ctrl[i].Z;
A[18+22*i]?=?1;
A[19+22*i]?=?ctrl[i].yp*ctrl[i].X;
A[20+22*i]?=?ctrl[i].yp*ctrl[i].Y;
A[21+22*i]?=?ctrl[i].yp*ctrl[i].Z;

L[0+2*i]?=?-ctrl[i].xp;
L[1+2*i]?=?-ctrl[i].yp;
}
TransposeMatrix(AAT1211);
Multiply(ATAATA111211);
Multiply(ATLATL11121);
Inverse(ATA11);
Multiply(ATAATLX11111);

//L系數的精確值計算
double?r3;?//r3*r3
double?x0?y0;??//內方位元素
double?a?b?c;??//用于結算方便設置的中間變量
double?fxfyfx1fy1;??//x向主距,y向主距上次迭代的fx值上次迭代的fy的值
double?Atemp?rr;??//誤差方程中方便計算的變量

double?*M?=?new?double[24*num];
double?*MT?=?new?double[24*num];
double?*W?=?new?double[2*num];
double?MTM[144]?=?{0.0};
double?MTW[12]?=?{0.0};
//計算x0,y0
r3?=?1/(X[8]*X[8]+X[9]*X[9]+X[10]*X[10]);
x0?=?-r3*(X[0]*X[8]+X[1]*X[9]+X[2]*X[10]);
y0?=?-r3*(X[4]*X[8]+X[5]*X[9]+X[6]*X[10]);
a??=?r3*(X[0]*X[0]+X[1]*X[1]+X[2]*X[2])-x0*x0;
b??=?r3*(X[4]*X[4]+X[5]*X[5]+X[6]*X[6])-y0*y0;
c??=?r3*(X[0]*X[4]+X[1]*X[5]+X[2]*X[6])-x0*y0;
//? double?dbeta?=?asin(?sqrt(c*c/(a*b)));
//? double?ds?=?sqrt(a/b)?-?1;
//? fx?=?sqrt(a)?*?cos(dbeta);
//? fy?=?fx?/?(1?+?ds);
fx?=?sqrt((a*b-c*c)/b);
fy?=?sqrt((a*b-c*c)/a);

do?
{
fx1?=?fx;
fy1?=?fy;
for?(int?i=0;?i {
Atemp?=?X[8]*ctrl[i].X+X[9]*ctrl[i].Y+X[10]*ctrl[i].Z+1;
rr?=?(ctrl[i].xp-x0)*(ctrl[i].xp-x0)+(ctrl[i].yp-y0)*(ctrl[i].yp-y0);

M[24*i+0]??=?-ctrl[i].X/Atemp;
M[24*i+1]??=?-ctrl[i].Y/Atemp;
M[24*i+2]??=?-ctrl[i].Z/Atemp;
M[24*i+3]??=?-1/Atemp;
M[24*i+4]??=?0;
M[24*i+5]??=?0;
M[24*i+6]??=?0;
M[24*i+7]??=?0;
M[24*i+8]??=?-(ctrl[i].xp*ctrl[i].

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????122368??2013-12-15?22:34??DLT\Debug\DLT.exe

?????文件?????594148??2013-12-15?22:34??DLT\Debug\DLT.ilk

?????文件????1018880??2013-12-15?22:34??DLT\Debug\DLT.pdb

?????文件???????1268??2013-12-08?00:19??DLT\DLT\CMatrix.h

?????文件????????558??2013-12-15?22:34??DLT\DLT\Debug\cl.command.1.tlog

?????文件???????5912??2013-12-15?22:34??DLT\DLT\Debug\CL.read.1.tlog

?????文件????????260??2013-12-15?22:34??DLT\DLT\Debug\CL.write.1.tlog

?????文件???????4009??2013-12-15?21:36??DLT\DLT\Debug\DLT.Build.CppClean.log

?????文件?????????80??2013-12-15?22:34??DLT\DLT\Debug\DLT.lastbuildstate

?????文件???????1792??2013-12-15?22:34??DLT\DLT\Debug\DLT.log

?????文件?????304194??2013-12-15?22:34??DLT\DLT\Debug\DLT.obj

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link-cvtres.read.1.tlog

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link-cvtres.write.1.tlog

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link-rc.read.1.tlog

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link-rc.write.1.tlog

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link.1584-cvtres.read.1.tlog

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link.1584-cvtres.write.1.tlog

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link.1584-rc.read.1.tlog

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link.1584-rc.write.1.tlog

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link.1584.read.1.tlog

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link.1584.write.1.tlog

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link.1776-cvtres.read.1.tlog

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link.1776-cvtres.write.1.tlog

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link.1776-rc.read.1.tlog

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link.1776-rc.write.1.tlog

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link.1776.read.1.tlog

?????文件??????????2??2013-12-15?22:34??DLT\DLT\Debug\link.1776.write.1.tlog

?????文件???????1022??2013-12-15?22:34??DLT\DLT\Debug\link.command.1.tlog

?????文件???????2308??2013-12-15?22:34??DLT\DLT\Debug\link.read.1.tlog

?????文件????????332??2013-12-15?22:34??DLT\DLT\Debug\link.write.1.tlog

............此處省略20個文件信息

評論

共有 條評論