欢迎来到天天文库
浏览记录
ID:55563569
大小:114.50 KB
页数:9页
时间:2020-05-17
《单像空间后方交会编程实习报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单像空间后方交会编程实习报告学号姓名指导老师一、实习目的1、掌握空间后方交会的定义和实现算法(1)定义:空间后方交会是以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,解求该影像在航空摄影时刻的外方位元素Xs,Ys,Zs,φ,ω,κ。(2)算法:由于每一对像方和物方共轭点可列出2个方程,因此若有3个已知地面坐标的控制点,则可列出6个方程,解求6个外方位元素的改正数△Xs,△Ys,△Zs,△φ,△ω,△κ。实际应用中为了提高解算精度,常有多余观测方程,通常是在影像的四个角上选取4个或均匀地选择更
2、多的地面控制点,因而要用最小二乘平差方法进行计算。2、了解摄影测量平差的基本过程(1)获取已知数据。从摄影资料中查取影像比例尺1/m,平均摄影距离(航空摄影的航高)、内方位元素x0,y0,f;获取控制点的空间坐标Xt,Yt,Zt。(2)量测控制点的像点坐标并进行必要的影像坐标系统误差改正,得到像点坐标。(3)确定未知数的初始值。单像空间后方交会必须给出待定参数的初始值,在竖直航空摄影且地面控制点大体对称分布的情况下,Xs0和Ys0为均值,Zs0为航高,φ、ω、κ的初值都设为0。或者κ的初值可在航迹图上找出或根据控制点坐标通过坐标正反变换求出。(4)计算旋
3、转矩阵R。利用角元素近似值计算方向余弦值,组成R阵。(5)逐点计算像点坐标的近似值。利用未知数的近似值按共线条件式计算控制点像点坐标的近似值(x),(y)。(6)逐点计算误差方程式的系数和常数项,组成误差方程式。(7)计算法方程的系数矩阵ATA与常数项ATL,组成法方程式。(8)解求外方位元素。根据法方程,解求外方位元素改正数,并与相应的近似值求和,得到外方位元素新的近似值。(9)检查计算是否收敛。将所求得的外方位元素的改正数与规定的限差比较,通常对φ,ω,κ的改正数△φ,△ω,△κ给予限差,通常为0.1′,当3个改正数均小于0.1′时,迭代结束。否则用
4、新的近似值重复(4)~(8)步骤的计算,直到满足要求为止。二、程序源代码程序源代码#include"iostream.h"#include"stdio.h"#include"stdlib.h"#include#defineN4voidmult(double*m1,double*m2,double*result,inti_1,intj_12,intj_2)//矩阵相乘{inti,j,k;for(i=0;i5、sult[i*j_2+j]+=m1[i*j_12+k]*m2[j+k*j_2];}return;}intinvers_matrix(double*m1,intn)//矩阵求逆{int*is,*js;inti,j,k,l,u,v;doubletemp,max_v;is=(int*)malloc(n*sizeof(int));js=(int*)malloc(n*sizeof(int));if(is==NULL6、7、js==NULL){printf("outofmemory!");return(0);}for(k=0;k8、or(i=k;imax_v){max_v=temp;is[k]=i;js[k]=j;}}if(max_v==0.0){free(is);free(js);printf("inversisnotavailble!");return(0);}if(is[k]!=k)for(j=0;j9、n;i++){u=i*n+k;v=i*n+js[k];temp=m1[u];m1[u]=m1[v];m1[v]=temp;}l=k*n+k;m1[l]=1.0/m1[l];for(j=0;j=10、0;k--){if(js[k]!=k)for(j=0;j
5、sult[i*j_2+j]+=m1[i*j_12+k]*m2[j+k*j_2];}return;}intinvers_matrix(double*m1,intn)//矩阵求逆{int*is,*js;inti,j,k,l,u,v;doubletemp,max_v;is=(int*)malloc(n*sizeof(int));js=(int*)malloc(n*sizeof(int));if(is==NULL
6、
7、js==NULL){printf("outofmemory!");return(0);}for(k=0;k8、or(i=k;imax_v){max_v=temp;is[k]=i;js[k]=j;}}if(max_v==0.0){free(is);free(js);printf("inversisnotavailble!");return(0);}if(is[k]!=k)for(j=0;j9、n;i++){u=i*n+k;v=i*n+js[k];temp=m1[u];m1[u]=m1[v];m1[v]=temp;}l=k*n+k;m1[l]=1.0/m1[l];for(j=0;j=10、0;k--){if(js[k]!=k)for(j=0;j
8、or(i=k;imax_v){max_v=temp;is[k]=i;js[k]=j;}}if(max_v==0.0){free(is);free(js);printf("inversisnotavailble!");return(0);}if(is[k]!=k)for(j=0;j9、n;i++){u=i*n+k;v=i*n+js[k];temp=m1[u];m1[u]=m1[v];m1[v]=temp;}l=k*n+k;m1[l]=1.0/m1[l];for(j=0;j=10、0;k--){if(js[k]!=k)for(j=0;j
9、n;i++){u=i*n+k;v=i*n+js[k];temp=m1[u];m1[u]=m1[v];m1[v]=temp;}l=k*n+k;m1[l]=1.0/m1[l];for(j=0;j=
10、0;k--){if(js[k]!=k)for(j=0;j
此文档下载收益归作者所有