摄影测量-空间前交、后交【精选文档】
(完整版)摄影测量知识点整理(完整精华版)
![(完整版)摄影测量知识点整理(完整精华版)](https://img.taocdn.com/s3/m/c286d75a9b89680203d825d9.png)
摄影测量学第一章绪论1摄影测量是从非接触成像系统,通过记录、量测、分析与表达等处理,获取地球及其环境和其他物体的几何、属性等可靠信息的工艺、科学与技术。
2、摄影测量学的三个发展阶段:模拟摄影测量、解析摄影测量、数字摄影测量第二章单幅影像解析基础1像主点:摄影机主光轴(摄影方向)与像平面的交点,称为像片主点。
像主距:摄影机物镜后节点到像片主点的垂距称为摄影机主距,也叫像片主距(f)。
2、航空摄影:利用安装在航摄飞机上的航摄仪,在空中以预定的飞行高度度沿着事先制定好的航线飞行,按一定的时间间隔进行曝光摄影,获取整个测区的航摄像片。
空中摄影采用竖直摄影方式,即摄影瞬间摄影机物镜主光轴近似与地面垂直。
丄丄fm L H(m—像片比例尺分母,f—摄影机主距,H —平均高程面的摄影高度H=m • f)3、相对航高是指摄影机物镜相对于某一基准面的高度,称为摄影航高。
绝对航高是相对于平均海平面的航高,是指摄影机物镜在摄影瞬间的真实海拔高。
通过相对航高H与摄影地区地面平均高度H地计算得到:H绝=H+H地5、航向重叠:同一条航线内相邻像片之间的影像重叠称,重叠度一般要求在60%以上;旁向重叠:两相邻航带像片之间的影像重叠,重叠度要求在30%左右。
6、中心投影:当投影会聚于一点时,称为中心投影;正射投影:投影射线与投影平面成正交。
r中心投影:投影射线会聚于一点(投影射线的会聚点称投影中心)r斜投影:投影射线与投影平面成斜交投影i正射投影:投影射线与投影平面成正交7、 透视变换中的重要的点线面:① 由投影中心作像片平面的垂线,交像面于 0,称为像主点;像主点在地面上的对应点以O 表示,称为地主点。
② 由摄影中心作铅垂线交像片平面于点 n ,称为像底点;此铅垂线交地面于点 N ,称为地底点。
③ 过铅垂线SnN 和摄影方向SoO 的铅垂面称为主垂面(W ),主垂面即垂直于像平面 P ,又垂直于地平面 E ,也垂直于两平面的交线透视轴 TT 。
摄影测量解析基础(后方交会前方交会)
![摄影测量解析基础(后方交会前方交会)](https://img.taocdn.com/s3/m/63349490ac51f01dc281e53a580216fc700a53ca.png)
06
结果输出
输出目标点的三维坐标数据。
前方交会方法的优缺点分析
优点 不需要地面控制点,可以在未知环境中进行测量。
可以快速获取大范围的三维空间信息。
前方交会方法的优缺点分析
• 适用于动态目标和快速测量场景。
前方交会方法的优缺点分析
01
缺点
02
03
04
对光照条件敏感,光照变化会 影响测量精度。
对摄影图像的质量要求较高, 需要清晰、分辨率高的图像。
随着科技的不断发展,摄影测量技术也在不断进步和完善,其在各个领域的应用 也日益广泛和深入。
摄影测量的历史与发展
01
摄影测量起源于19世纪中叶,当时人 们开始使用胶片相机进行地形测量。 随着技术的发展,数字相机逐渐取代 了胶片相机,使得摄影测量更加便捷 和高效。
02
近年来,随着计算机技术和人工智能 的飞速发展,摄影测量技术也取得了 重大突破。例如,无人机技术的兴起 使得摄影测量更加灵活、快速和安全 ;计算机视觉和深度学习技术的应用 则提高了影像解析的自动化和智能化 水平。
在复杂地形和遮挡严重的环境 中,前方交会方法可能会失效
。
05 实际应用案例
Hale Waihona Puke 后方交会方法应用案例总结词
通过已知的摄影站和地面控制点,解算出摄影中心和地面点的空间坐标。
详细描述
后方交会方法常用于地图更新、地籍测量和城市三维建模等领域。例如,在城市三维建模中,利用后方交会方法 可以快速准确地获取建筑物表面的空间坐标,为构建真实感强的城市三维模型提供数据支持。
图像获取
获取至少两幅不同角度的摄影图像。
01
02
像片处理
对图像进行预处理,包括图像校正、去噪等 操作。
第五章双像解析摄影测量
![第五章双像解析摄影测量](https://img.taocdn.com/s3/m/a288bf68011ca300a6c390be.png)
a1 cos cos sin sin sin a2 cos sin sin sin cos a3 sin cos b1 cos sin b2 cos cos b3 sin ; c1 sin cos cos sin sin c2 sin sin cos sin cos ; c3 cos cos 当 0时 : 1 0 0 R 0 1 0 0 0 1
在竖直摄影情况下,将共线方程线性 化,可得:
f x x xy x ( x) dX S dZ S f (1 2 )d d yd H H f f 2 f y xy y y ( y ) dYS dZ S d f (1 2 )d xd H H f f
T T
al bl cl T A L dl el fl
1 T
法方程的解为:
X ( A A) A L
T
三、空间后方交会的具体计算过程
(1) 获取原始数据。从摄影资料中查取平均航高与摄影机主距;从外业 测量成果中获取地面控制点的地面测量,或转换为地面摄影测量坐标。
这里给出一般点坐标:
X mp X sp 1 m N1 X 1 m N1 X 1 Ymp 1 Ysp 1 (m N1Y1 m N2Y2 m by ) 2 1 ( N1Y1 N 2Y2 by ) m 2 Z sp 1 m N1Z1 m f m N1Z1
第五章 摄影测量解析基础
本章主要内容
§5ቤተ መጻሕፍቲ ባይዱ1
像点坐标量测 §5—2 单像空间后方交会 §5—3 立体像对的空间前方交会 §5—4立体像对的 解析法相对定向 §5—5立体像对的 解析法绝对定向 §5—6双像解析的光束法整体解求
摄影测量学复习资料简述
![摄影测量学复习资料简述](https://img.taocdn.com/s3/m/172b06a876eeaeaad0f33057.png)
摄影测量学:利用光学摄影机摄取像片,通过像片来研究和确定被摄物体的形状、大小、位置和相互关系。
○1、摄影测量的按摄影机平台位置不同:航天摄影测量、航空摄影测量、地面摄影测量、水下摄影测量;○2、按摄影机平台与被摄目标距离的远近:航天摄影测量、航空摄影测量、地面摄影测量、近景摄影测量、显微摄影测量;○3、按用途:地形摄影、非地形摄影;摄影测量学的发展三个阶段:模拟摄影测量(1900~1960)、解析摄影测量(1950~1980)、数字摄影测量(1980~2000)。
框标装置:在固定不变的承片框上,四个边的中点各安置一个机械标志。
主光轴:组成物镜的各个透镜的光学中心位于同一直线上。
物方空间:以两平面来等价物镜组,则两平面将空间分为两个部分,物体所处空间即为物方空间。
像方空间:构像所处的空间。
摄影机主距:航空摄影机物镜中心至底片面的距离是固定值。
用f表示视场:光线通过物镜后,焦面上照度不均匀的光亮圆。
像场:影像相当清晰的一部分视场内的光亮圆。
视场角:由物镜后节点向视场边缘射出的光线所张开的角,用2a 表示像角:由镜头后节点向像场边缘射出的光线所张开的角。
摄影比例尺:航摄像片上一段为l 的影像与地面上相应线段的水平距离L之比,即1/m=l/L。
绝对航高:摄影瞬间摄影机物镜中心相对于平均海水面的航高。
相对航高:相对于其他某一基准面或某一点的高度。
摄影比例尺越大,像片地面的分辨率越高,有利于影像的解译与提高成图精度,但摄影比例尺过大,增加工作量及费用。
空中摄影过程,实质上是将地球表面上的地物,地貌等信息,穿过大气层,进入摄影机物镜,到达航摄胶片上形成影像的传输过程。
摄影基线:航线方向相邻两摄站点间的空间距离。
航向重叠:在同一条航线上,相邻两像片应有一定的范围的影像重叠。
旁向重叠:相邻航线也应有足够的重叠。
像片倾角,在摄影瞬间摄影机轴发生了倾角,摄影机轴与铅直方向的夹角a 一般要求倾角不大于2度,最大不超过3度。
摄影测量学3-3
![摄影测量学3-3](https://img.taocdn.com/s3/m/a35831667e21af45b307a828.png)
要将空中摄站及影像放到整个的加密网中,起到 点的传递和构网作用,故被称为空中三角测量。
目的:用摄影测量解析法确定区域内所有影像的外方位元素。
摄影测 量 加密
一、 空中三角测量意义:
(1)不需直接触及被量测的目标或物体.凡是在影像上可 以看到的目标,不受地面通视条件限制,均可以测定其位 臵和几何形状; (2)可以快速地在大范围内同时进行点位测定,从而可节 省大量的野外测量工作; (3)摄影测量平差计算时,加密区域内部精度均匀,且很 少受区域大小的影响;
4个平高控制点:4 4 16
n 各待求点:
4 n 4n
3n 12 未知数的个数:
两张像片的外方位元素:
t1
t2
多余观测数: 6 n
n
2 6 12 各待求点: 3 n 3n
3.9光束法双像解析摄影测量
按未知数的类型将误差方程式写成矩阵形式:
V1 A1 V 0 2 0 A2 t1 B1 l1 t 2 B2 l 2 X
• 要点: 1) 空间后方交会-空间前方交会:由于空间后方交会至少需要3 个平高控制点,通常采用4 个平高控制点,按最小二乘平差 方法解算单张像片6 个外方位元素。故该方法不适合; 2) 相对定向-绝对定向:相对定向完成后,绝对定向通常采用3
个平高控制点按最小二乘平差方法解算7 个绝对定向元素。
上述问题中,控制点数量不足以解决该绝对定向问题。故该 方法不适合; • 3) 光束法:上述问题中,2 个平高控制点和1 个高程控制点 可以确定平差的基准,多余观测个数r=(2×6×2)(6×2+3×3)=3>0,故可用该方法解决上述问题。
N12 ) X (u2 N N
摄影测量学空间后方交会实验报告
![摄影测量学空间后方交会实验报告](https://img.taocdn.com/s3/m/5de2fa5ca200a6c30c22590102020740be1ecd9a.png)
摄影测量学实验报告实验一、单像空间后方交会学院:建测学院班级:测绘082姓名:肖澎学号: 15一.实验目的1.深入了解单像空间后方交会的计算过程;2.加强空间后方交会基本公式和误差方程式,法线方程式的记忆;3.通过上机调试程序加强动手能力的培养。
二.实验原理以单幅影像为基础,从该影像所覆盖地面范围内若干控制点和相应点的像坐标量测值出发,根据共线条件方程,求解该影像在航空摄影时刻的相片外方位元素。
三.实验内容1.程序图框图2.实验数据(1)已知航摄仪内方位元素f=153.24mm,Xo=Yo=0。
限差0.1秒(2)已知4对点的影像坐标和地面坐标:3.实验程序using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication3{class Program{static void Main(){//输入比例尺,主距,参与平参点的个数Console.WriteLine("请输入比例尺分母m:\r");string m1 = Console.ReadLine();double m = (double)Convert.ToSingle(m1);Console.WriteLine("请输入主距f:\r");string f1 = Console.ReadLine();double f = (double)Convert.ToSingle(f1);Console.WriteLine("请输入参与平差控制点的个数n:\r");string n1 = Console.ReadLine();int n = (int)Convert.ToSingle(n1);//像点坐标的输入代码double[] arr1 = new double[2 * n];//1.像点x坐标的输入for (int i = 0; i < n; i++){Console.WriteLine("请输入已进行系统误差改正的像点坐标的x{0}值:\r", i+1);string u = Console.ReadLine();for (int j = 0; j < n; j += 2){arr1[j] = (double)Convert.ToSingle(u);}}//2.像点y坐标的输入for (int i = 0; i < n; i++){Console.WriteLine("请输入已进行系统误差改正的像点坐标的y{0}值:\r", i+1);string v = Console.ReadLine();for (int j = 1; j < n; j += 2){arr1[j] = (double)Convert.ToSingle(v);}}//控制点的坐标输入代码double[,] arr2 = new double[n, 3];//1.控制点X坐标的输入for (int j = 0; j < n; j++){Console.WriteLine("请输入控制点在地面摄影测量坐标系的坐标的X{0}值:\r", j+1);string u = Console.ReadLine();arr2[j , 0] = (double)Convert.ToSingle(u);}//2.控制点Y坐标的输入for (int k = 0; k < n; k++){Console.WriteLine("请输入控制点在地面摄影测量坐标系的坐标的Y{0}值:\r", k+1);string v = Console.ReadLine();arr2[k , 1] = (double)Convert.ToSingle(v);}//3.控制点Z坐标的输入for (int p =0; p < n; p++){Console.WriteLine("请输入控制点在地面摄影测量坐标系的坐标的Z{0}值:\r", p+1);string w = Console.ReadLine();arr2[p , 2] = (double)Convert.ToSingle(w);}//确定外方位元素的初始值//1.确定Xs的初始值:double Xs0 = 0;double sumx = 0;for (int j = 0; j < n; j++){double h = arr2[j, 0];sumx += h;}Xs0 = sumx / n;//2.确定Ys的初始值:double Ys0 = 0;double sumy = 0;for (int j = 0; j < n; j++){double h = arr2[j, 1];sumy += h;}Ys0 = sumy / n;//3.确定Zs的初始值:double Zs0 = 0;double sumz = 0;for (int j = 0; j <= n - 1; j++){double h = arr2[j, 2];sumz += h;}Zs0 = sumz / n;doubleΦ0 = 0;doubleΨ0 = 0;double K0 = 0;Console.WriteLine("Xs0,Ys0,Zs0,Φ0,Ψ0,K0的值分别是:{0},{1},{2},{3},{4},{5}", Xs0, Ys0, Zs0, 0, 0, 0);//用三个角元素的初始值按(3-4-5)计算各方向余弦值,组成旋转矩阵,此时的旋转矩阵为单位矩阵I:double[,] arr3 = new double[3, 3];for (int i = 0; i < 3; i++)arr3[i, i] = 1;}double a1 = arr3[0, 0]; double a2 = arr3[0, 1]; double a3 = arr3[0, 2];double b1 = arr3[1, 0]; double b2 = arr3[1, 1]; double b3 = arr3[1, 2];double c1 = arr3[2, 0]; double c2 = arr3[2, 1]; double c3 = arr3[2, 2];/*利用线元素的初始值和控制点的地面坐标,代入共线方程(3-5-2),* 逐点计算像点坐标的近似值*///1.定义存放像点近似值的数组double[] arr4 = new double[2 * n];//----------近似值矩阵//2.逐点像点坐标计算近似值//a.计算像点的x坐标近似值(x)for (int i = 0; i < 2 * n; i += 2){for (int j = 0; j < n; j++){arr4[i] = -f * (a1 * (arr2[j, 0] - Xs0) + b1 * (arr2[j, 1] - Ys0) + c1 * (arr2[j, 2] - Zs0)) / (a3 * (arr2[j, 0] - Xs0) + b3 * (arr2[j, 1] - Ys0) + c3 * (arr2[j, 2] - Zs0)); }}//b.计算像点的y坐标近似值(y)for (int i = 1; i < 2 * n; i += 2){for (int j = 0; j < n; j++){arr4[i] = -f * (a2 * (arr2[j, 0] - Xs0) + b2 * (arr2[j, 1] - Ys0) + c2 * (arr2[j, 2] - Zs0)) / (a3 * (arr2[j, 0] - Xs0) + b3 * (arr2[j, 1] - Ys0) + c3 * (arr2[j, 2] - Zs0)); }}//逐点计算误差方程式的系数和常数项,组成误差方程:double[,] arr5 = new double[2 * n, 6]; //------------系数矩阵(A)//1.计算dXs的系数for (int i = 0; i < 2 * n; i += 2){arr5[i, 0] = -1 / m; //-f/H == -1/m}//2.计算dYs的系数for (int i = 1; i < 2 * n; i += 2){arr5[i, 1] = -1 / m; //-f/H == -1/m}//3.a.计算误差方程式Vx中dZs的系数for (int i = 0; i < 2 * n; i += 2)arr5[i, 2] = -arr1[i] / m * f;}//3.b.计算误差方程式Vy中dZs的系数for (int i = 1; i < 2 * n; i += 2){arr5[i, 2] = -arr1[i] / m * f;}//4.a.计算误差方程式Vx中dΦ的系数for (int i = 0; i < 2 * n; i += 2){arr5[i, 3] = -f * (1 + arr1[i] * arr1[i] / f * f);}//4.a.计算误差方程式Vy中dΦ的系数for (int i = 1; i < 2 * n; i += 2){arr5[i, 3] = -arr1[i - 1] * arr1[i] / f;}//5.a.计算误差方程式Vx中dΨ的系数for (int i = 0; i < 2 * n; i += 2){arr5[i, 4] = -arr1[i] * arr1[i + 1] / f;}//5.b.计算误差方程式Vy中dΨ的系数for (int i = 1; i < 2 * n; i += 2){arr5[i, 4] = -f * (1 + arr1[i] * arr1[i] / f * f);}//6.a.计算误差方程式Vx中dk的系数for (int i = 0; i < 2 * n; i += 2){arr5[i, 5] = arr1[i + 1];}//6.b.计算误差方程式Vy中dk的系数for (int i = 1; i < 2 * n; i += 2){arr5[i, 5] = -arr1[i - 1];}//定义外方位元素组成的数组double[] arr6 = new double[6];//--------------------外方位元素改正数矩阵(X)//定义常数项元素组成的数组double[] arr7 = new double[2 * n];//-----------------常数矩阵(L)//计算lx的值for (int i = 0; i < 2 * n; i += 2)arr7[i] = arr1[i] - arr4[i]; //将近似值矩阵的元素代入}//计算ly的值for (int i = 1; i <= 2 * (n - 1); i += 2){arr7[i] = arr1[i] - arr4[i]; //将近似值矩阵的元素代入}/* 对于所有像点的坐标观测值,一般认为是等精度量测,所以权阵P为单位阵.所以X=(ATA)-1ATL *///1.计算ATdouble[,] arr5T = new double[6, 2 * n];for (int i = 0; i < 6; i++){for (int j = 0; j < 2 * n; j++){arr5T[i, j] = arr5[j, i];}}//A的转置与A的乘积,存放在arr5AA中double[,] arr5AA = new double[6, 6];for (int i = 0; i < 6; i++){for (int j = 0; j < 6; j++){arr5AA[i, j] = 0;for (int l = 0; l < 2 * n; l++){arr5AA[i, j] += arr5T[i, l] * arr5[l, j];}}}nijuzhen(arr5AA);//arr5AA经过求逆后变成原矩阵的逆矩阵//arr5AA * arr5T存在arr5AARATdouble[,] arr5AARAT = new double[6, 2 * n];for (int i = 0; i < 6; i++){for (int j = 0; j < 2 * n; j++){arr5AARAT[i, j] = 0;for (int p = 0; p < 6; p++){arr5AARAT[i, j] += arr5AA[i, p] * arr5T[p, j];}}}//计算arr5AARAT x L,存在arrX中double[] arrX = new double[6];for (int i = 0; i < 6; i++){for (int j = 0; j < 1; j++){arrX[i] = 0;for (int vv = 0; vv < 6; vv++){arrX[i] += arr5AARAT[i, vv] * arr7[vv];}}}//计算外方位元素值double Xs, Ys, Zs, Φ, Ψ, K;Xs = Xs0 + arrX[0];Ys = Ys0 + arrX[1];Zs = Zs0 + arrX[2];Φ = Φ0 + arrX[3];Ψ = Ψ0 + arrX[4];K = K0 + arrX[5];for (int i = 0; i <= 2; i++){Xs += arrX[0];Ys += arrX[1];Zs += arrX[2];Φ += arrX[3];Ψ += arrX[4];K += arrX[5];}Console.WriteLine("Xs,Ys,Zs,Φ,Ψ,K的值分别是:{0},{1},{2},{3},{4},{5}", Xs0, Ys0, Zs0, Φ, Ψ, K);Console.Read();}//求arr5AA的逆矩public static double[,] nijuzhen(double[,] a) {double[,] B = new double[6, 6];int i, j, k;int row = 0;int col = 0;double max, temp;int[] p = new int[6];for (i = 0; i < 6; i++){p[i] = i;B[i, i] = 1;}for (k = 0; k < 6; k++){//找主元max = 0; row = col = i;for (i = k; i < 6; i++){for (j = k; j < 6; j++){temp = Math.Abs(a[i, j]);if (max < temp){max = temp;row = i;col = j;}}}//交换行列,将主元调整到k行k列上if (row != k){for (j = 0; j < 6; j++){temp = a[row, j];a[row, j] = a[k, j];a[k, j] = temp;temp = B[row, j];B[row, j] = B[k, j];B[k, j] = temp;i = p[row]; p[row] = p[k]; p[k] = i; }if (col != k){for (i = 0; i < 6; i++){temp = a[i, col];a[i, col] = a[i, k];a[i, k] = temp;}}//处理for (j = k + 1; j < 6; j++){a[k, j] /= a[k, k];}for (j = 0; j < 6; j++){B[k, j] /= a[k, k];a[k, k] = 1;}for (j = k + 1; j < 6; j++){for (i = 0; j < k; i++){a[i, j] -= a[i, k] * a[k, j];}for (i = k + 1; i < 6; i++){a[i, j] -= a[i, k] * a[k, j];}}for (j = 0; j < 6; j++){for (i = 0; i < k; i++){B[i, j] -= a[i, k] * B[k, j];}for (i = k + 1; i < 6; i++){B[i, j] -= a[i, k] * B[k, j];}for (i = 0; i < 6; i++) {a[i, k] = 0;a[k, k] = 1;}}//恢复行列次序for (j = 0; j < 6; j++){for (i = 0; i < 6; i++) {a[p[i], j] = B[i, j]; }}for (i = 0; i < 6; i++){for (j = 0; j < 6; j++) {a[i, j] = a[i, j];}}return a;}4.实验结果四.实验总结此次实验让我深入了解单像空间后方交会的计算过程,加强了对空间后方交会基本公式和误差方程式,法线方程式的记忆。
摄影测量考试考前总结
![摄影测量考试考前总结](https://img.taocdn.com/s3/m/451e1c25dd36a32d737581a3.png)
一.名词解释1.摄影测量的定义.2.中心投影:投影光线会聚于一点的投影称为中心投影。
3.摄影基线:航线方向相邻两个摄影站点间的空间距离4.相对定向:相对定向:根据立体像对内在的几何关系恢复两张像片之间的相对位置和姿态,使同名光线对对相交,建立与地面相似的立体模型。
即确定一个立体像对两像片的相对位置。
5.像片旋偏角:摄影瞬间摄影机的主光轴近似与 地面垂直,偏离铅垂线的夹角小于2度~3度,夹角为像片旋偏角6.单像空间后方交会:利用至少三个已知地面控制点的坐标,与其影像上对应三个像点的影像坐标,根据共线条件方程,反求该像片的外方位元素。
7.空间前方交会:由立体像对中两张像片的内、外方位元素和像点坐标来确定相应地面点的地面坐标的方法,称为空间前方交会。
8.数字影像内定向:同一像点的像平面坐标与其扫描坐标不相等,需要加以换算,这种换算称为数字影像内定向。
9.摄影机主光轴:物镜后节点作框标平面的垂线10.空间后方交会:航摄像片可以在摄影之后,利用一定数量的地面控制点,根据共线条件方程或反求像片的外方位元素这种方法称为单张像片的空间后方交会。
11.立体像对:相邻摄站获取的具有一定重叠度的两张影像。
12.解析法绝对定向:借助地面控制点,将相对定向模型进行缩放、平移和旋转,使其达到绝对位置。
二.填空1.摄影测量学的发展经过了模拟摄影测量、解析摄影测量、数字摄影测量三个阶段。
2.摄影测量常用的坐标系统有:像平面坐标系、像空间坐标系、像空间辅助坐标系 、摄影测量坐标系、地面测量坐标系、.3.共线方程表达的是像点、投影中心与地面点之间关系。
4.一张像片的内方位元素包括:x0、 y0 、 f ;外方位元素包括:三个线元素(Xs 、Ys 、Zs ):描述摄影中心的空间坐标值;三个角元素(ϕ、ω、κ) ) :描述像片的空间姿态。
5.解析绝对定向需要量测 2 个平高和 1 个高程以上的控制点,一般是在模型四个角布设四个控制点。
空间后交-前交程序设计实验报告
![空间后交-前交程序设计实验报告](https://img.taocdn.com/s3/m/bbe8dc021711cc7930b7167c.png)
空间后交-前交程序设计(实验报告)姓名:班级:学号:时间:空间后交-前交程序设计一、实验目的用 C 、VB或MATLAB语言编写空间后方交会-空间前方交会程序⑴提交实习报告:程序框图、程序源代码、计算结果、体会⑵计算结果:像点坐标、地面坐标、单位权中误差、外方位元素及其精度二、实验数据f=150.000mm,x0=0,y0=0三、实验思路1.利用空间后方交会求左右像片的外方位元素(1).获取m(于像片中选取两点,于地面摄影测量坐标系中选取同点,分别计算距离,距离比值即为m),x,y,f,X,Y,Z(2).确定未知数初始值Xs,Ys,Zs,q,w,k(3).计算旋转矩阵R(4).逐点计算像点坐标的近似值(x),(y)(5).组成误差方程式(6).组成法方程式(7).解求外方位元素(8).检查是否收敛,即将求得的外方位元素的改正数与规定限差比较,小于限差即终止;否则用新的近似值重复步骤(3)-(7)2.利用求出的外方位元素进行空间前交,求出待定点地面坐标(1).用各自像片的角元素计算出左、右像片的方向余弦值,组成旋转矩阵R1,R2(2).根据左、右像片的外方位元素,计算摄影基线分量Bx,By,Bz(3).计算像点的像空间辅助坐标(X1,Y1,Z1)和(X2,Y2,Z2)(4).计算点投影系数N1和N2(5).计算未知点的地面摄影测量坐标四、实验过程⑴程序框图函数AandL%求间接平差时需要的系数%%%已知%a=像点坐标x,b=像点坐标y,f内方位元素主距%φ=q,ψ=w,κ=k%像空间坐标系X,Y,Z%地面摄影测量坐标系Xs,Ys,Zsfunction [A1,L1,A2,L2]=AandL(a,b,f,q,w,k,X,Y,Z,Xs,Ys,Zs) %%%%%%%%%%%选择矩阵元素a1=cos(q)*cos(k)-sin(q)*sin(w)*sin(k);a2=-cos(q)*sin(k)-sin(q)*sin(w)*cos(k);a3=-sin(q)*cos(w);b1=cos(w)*sin(k);b2=cos(w)*cos(k);b3=-sin(w);c1=sin(q)*cos(k)+cos(q)*sin(w)*sin(k);c2=-sin(q)*sin(k)+cos(q)*sin(w)*cos(k);c3=cos(q)*cos(w);%%%%%%%共线方程的分子分母X_=a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs);Y_=a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs);Z_=a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs);%%%%%%%近似值x=-f*X_/Z_;y=-f*Y_/Z_;%%%%%%%A组成L组成a11=1/Z_*(a1*f+a3*x);a12=1/Z_*(b1*f+b3*x);a13=1/Z_*(c1*f+c3*x);a21=1/Z_*(a2*f+a3*y);a22=1/Z_*(b2*f+b3*y);a23=1/Z_*(c2*f+c3*y);a14=y*sin(w)-(x/f*(x*cos(k)-y*sin(k))+f*cos(k))*cos(w);a15=-f*sin(k)-x/f*(x*sin(k)+y*cos(k)); a16=y;a24=-x*sin(w)-(y/f*(x*cos(k)-y*sin(k))-f*sin(k))*cos(w);a25=-f*cos(k)-y/f*(x*sin(k)+y*cos(k));a26=-x;lx=a-x;ly=b-y;%%%%%%%%%组成一个矩阵,并返回A1=[a11,a12,a13,a14,a15,a16];A2=[a21,a22,a23,a24,a25,a26];L1=lx;L2=ly;函数deg2dms%%%%%%%%角度转度分秒function y=deg2dms(x)a=floor(x);b=floor((x-a)*60);c=(x-a-b/60)*3600;y=a+(b/100)+(c/10000);函数dms2deg%%%%%度分秒转度function y=dms2deg(x)a=floor(x);b=floor((x-a)*100);c=(x-a-b/100)*10000;y=a+b/60+c/3600;函数ok%%%%%%%%%%%%%%目的是为了保证各取的值的有效值%%xy为n*1,a为1*nfunction result=ok(xy,a)format short gi=size(xy,1);for n=1:io=xy(n)-floor(xy(n,1));o=round(o*(10^a(n)))/(10^a(n));xy(n,1)=floor(xy(n,1))+o;endformat long gresult=xy;函数rad2dmsxy%%%%求度分秒表现形式的三个外方位元素,三个角度function xydms=rad2dmsxy(xy)[a,b,c,d,e,f]=testvar(xy);d=deg2dms(rad2deg(d));e=deg2dms(rad2deg(e));f=deg2dms(rad2deg(f));xydms=[a,b,c,d,e,f]';函数spacehoujiao%%%%%%%空间后交%%% f%%输入p(2*n,1)%%像点坐标x,y,X,Y,Z,均为(n,1)function [xy,m,R]=spacehoujiao(p,x,y,f,X,Y,Z)format long;%%%%%权的矢量化,这是等精度时的,如果非,将函数参数改为P P=diag(p);%%求nj=size(X,2);%%初始化Xs=0;Ys=0;Zs=0;for n=1:jXs=Xs+X(n);Ys=Ys+Y(n);Zs=Zs+Z(n);endSx=sqrt((x(2)-x(1))^2+(y(2)-y(1))^2);%%%%两像点之间距离Sd=sqrt((X(2)-X(1))^2+(Y(2)-Y(1))^2);%%%%两地面控制点之间距离m=Sd/Sx; %%%%图像比例系数Xs=Xs/j;Ys=Ys/j;Zs=m*f+Zs/j;m0=0;q=0;w=0;k=0;i=0;a=rand(2*j,6);l=rand(2*j,1);%%%%for n=1:j[a(2*n-1,:),l(2*n-1,1),a(2*n,:),l(2*n,1)]=AandL(x(n),y(n),f,q,w,k,X(n),Y(n),Z(n ),Xs,Ys,Zs);enddet=inv(a'*P*a)*transpose(a)*P*l;%%%%%%%%%循环体while 1%%%%%%%%%%%%%%%%[dXs,dYs,dZs,dq,dw,dk]=testvar(det);detXs=abs(dXs);detYs=abs(dYs);detZs=abs(dZs);detq=abs(dq);detw=abs(dw);detk=abs(dk);%%%%%%%%%if((detXs<0.01)&&(detYs<0.01)&&(detZs<0.01)&&(detq<pi/648000)&&(detw<pi/648000)&& (detk<pi/648000))break;elseV=(a*det-l);Q=inv(a'*P*a);m0=m0+sqrt((V'*P*V)/(2*j-6));%%m0需要每次的改正数算出来相加%%%Xs=Xs+dXs;Ys=Ys+dYs;Zs=Zs+dZs;q=q+dq;w=w+dw;k=k+dk;%%%for n=1:j[a(2*n-1,:),l(2*n-1,1),a(2*n,:),l(2*n,1)]=AandL(x(n),y(n),f,q,w,k,X(n),Y(n),Z(n ),Xs,Ys,Zs);enddet=inv(a'*P*a)*transpose(a)*P*l;i=i+1;%%%%end%%%end[dXs,dYs,dZs,dq,dw,dk]=testvar(det);detXs=abs(dXs);detYs=abs(dYs);detZs=abs(dZs);detq=abs(dq);detw=abs(dw);detk=abs(dk);V=(a*det-l);Q=inv(a'*P*a);m0=m0+sqrt((V'*P*V)/(2*n-6));%%%Xs=Xs+dXs;Ys=Ys+dYs;Zs=Zs+dZs;q=q+dq;w=w+dw;k=k+dk;%%%%%%%%%%%%%可以输出迭代次数的i%%%%%%%%%%%%Xs,Ys,Zs,q,w,k,i,dXs,dYs,dZs,dq,dw,dk,detXs,detYs,detZs %%%%%%%%%%%精度mo=m0*sqrt(Q);m=[mo(1,1),mo(2,2),mo(3,3),mo(4,4),mo(5,5),mo(6,6)]';[mXs,mYs,mZs,mq,mw,mk]=testvar(m);%%%%%%%%%输出xy=[Xs,Ys,Zs,q,w,k]';%%输出(6,1)的外方位元素m=[m0,mXs,mYs,mZs,mq,mw,mk]';%%单位误差,各元素中误差R=xyR(xy);%%旋转矩阵函数spaceqianjiao%%空间前交%输入f%输入x1,y1,x2,y2,R1,R2,xy1,xy2 (n,1)%输出X,Y,Z (n,1)function [X,Y,Z]=spaceqianjiao(x1,y1,x2,y2,f,R1,R2,xy1,xy2) i=size(x1,2);[Xs1,Ys1,Zs1,q1,w1,k1]=testvar(xy1);[Xs2,Ys2,Zs2,q2,w2,k2]=testvar(xy2);for n=1:i[X1(n),Y1(n),Z1(n)]=testvar(R1*[x1(n),y1(n),-f]');[X2(n),Y2(n),Z2(n)]=testvar(R2*[x2(n),y2(n),-f]');Bx=Xs2-Xs1;By=Ys2-Ys1;Bz=Zs2-Zs1;N1=(Bx*Z2(n)-Bz*X2(n))/(X1(n)*Z2(n)-X2(n)*Z1(n));N2=(Bx*Z1(n)-Bz*X1(n))/(X1(n)*Z2(n)-X2(n)*Z1(n));X(n)=Xs1+N1*X1(n);Z(n)=Zs1+N1*Z1(n);Y(n)=0.5*((Ys1+N1*Y1(n))+(Ys2+N2*Y2(n)));end函数testvar%分割矩阵。
《摄影测量学》第10讲-空间后方交会
![《摄影测量学》第10讲-空间后方交会](https://img.taocdn.com/s3/m/fc6ad207cc17552707220892.png)
0 0 Fx ( X S ,YS0 , Z S ,ϕ 0 , ω0 ,κ 0 ) → Fx0
0 (XS − XS ) +
(YS − YS0 ) +
0 (Z S − Z S ) +
(ω − ω0 ) +
∂Fx0 ∂κ
0 0 (κ − κ 0 ) + Fx ( X S , YS0 , Z S ,ϕ 0 , ω0 ,κ 0 )
内 容 安 排
• 单像空间后方交会概述 • 共线方程的线性化(难点) 共线方程的线性化(难点) • 利用共线条件方程解算像片的外方位元 点) ( 点)
[一]概述
1、什么叫单像空间后方交会 什么叫单像空间后方交会 利用地面控制点及其在片像上的像点, 利用地面控制点及其在片像上的像点,确定一 张像片外方位元素的方法。 张像片外方位元素的方法。
2
(
)
求:a = ?
取初值
任取a0=0: da = 6 由于:da = a − a0,a = a0 + da = 6 da = −36 / 13 = −2.8 取a0=6: 由于:da = a − a0,a = a0 + da = 3.2 da = −1 取a0=3.2 由于:da = a − a0,a = a0 + da = 2.2
S S
) + b2 ( Y − Y S ) + c 2 ( Z − Z S ) ) + b3 ( Y − Y S ) + c 3 ( Z − Z S )
a1 ( X − X S ) + b1 (Y − YS ) + c1 ( Z − Z S ) Fx = x + f =0 a3 ( X − X S ) + b3 (Y − YS ) + c3 ( Z − Z S ) Fy = y + f a 2 ( X − X S ) + b2 (Y − YS ) + c 2 ( Z − Z S ) =0 a3 ( X − X S ) + b3 (Y − YS ) + c3 ( Z − Z S )
五上、数字摄影测量学单片空间后方交会
![五上、数字摄影测量学单片空间后方交会](https://img.taocdn.com/s3/m/546ef6cb8bd63186bcebbcbf.png)
总误差方程
法方程
V Ax L
x (AT A) 1 (AT L)
X s Ys V1 A1 l1 Z V2 A2 l2 s V , A , L , x , Vn An ln T T li xi ( xi ) yi ( yi ) , Vi v xi v yi a11 a12 a13 a14 a15 a16 Ai a21 a22 a23 a24 a25 a26
已知点必须多余点, 数据处理方法采用 最小二乘法!
这是所有测量的一个统一的基本原则! 摄影测量也不例外。
二、误差方程与法方程
已知值 x0 , y0 , f ,m, X, Y, Z 观测值 x , y 相应改正数 vx,vy 未知数 Xs, Ys, Zs, , , 泰勒级数展开
四、空间后方交会的精度
求解各未知数的精度可以通过法方程系数矩阵 求逆的方法,解出相应的权倒数 Qii
mi m0 Qii 按下式计算第i未知数的中误差:
式中,m0为单位权中误差,计算公式 为: m [VV ] 0 2n 6 ,其中n为控制点的点数。
空间后方交会用到的已知点越多,空间后方交会 的精度越高,此外空点的分布也空间后方交会计算 的精度。空间后方交会使用的控制点应当避免位于 一个圆柱面上,否则,会出现解不唯一的情况。
偏导数 1
x f X Z 2 ( Z X) X s Z X s X s f 2 ( a1Z a3 X ) Z 1 X (a1 f f a3 ) Z Z 1 (a1 f a3 x) Z
偏导数 2
x f X Z 2 ( Z X) Z
摄影测量作业3-空间后方交会计算
![摄影测量作业3-空间后方交会计算](https://img.taocdn.com/s3/m/36948d3bdd36a32d73758143.png)
CFileDialog dlgOpenFile(TRUE, _T("txt"), NULL, OFN_FILEMUSTEXIST, _T("(文本文件)|*.txt|(所有文件)|*.*)||"));
if (dlgOpenFile.DoModal() == IDCANCEL) return;//如果选择取消按钮,则退出
原理、算法流程、源程序、计算结果、结果分析、心得体会等。
三.实验所用到的数学公式及程序计算步骤。
单张影像的空间后方交会:利用已知地面控制点数据及相应像点坐标 根据共线方程反 求影像的外方位元素。 数学模型:共线条件方程式:
3
求解过程: (1)获取已知数据。从航摄资料中查取平均航高与摄影机主距;获取控制点的地面测
CMatrix X,_A,_AA,N_AA; _A = ~A;//A 的转置 _AA = _A*A; N_AA = _AA.Inv();//_AA 的逆矩阵 X = N_AA*_A*L; return X; }
CMatrix CKongJianHouFangJiaoHuiDlg::GetA(CMatrix xyXYZ, double f, CMatrix XX)//计算系数矩 阵A {
CMatrix CKongJianHouFangJiaoHuiDlg::GetL(CMatrix xyXYZ, double f, CMatrix XX)//计算 L 矩阵 {
int iRow = xyXYZ.Row(); CMatrix L(2 * iRow, 1); double XS = XX(0, 0); double YS = XX(0, 1); double ZS = XX(0, 2);
A(2*i, 3) = y*sin(w) - (x*(x*cos(k) - y*sin(k)) / f + f*cos(k))*cos(w); A(2*i, 4) = -f*sin(k) - x*(x*sin(k) + y*cos(k)) / f; A(2*i, 5) = y; A(2*i+1, 0) = (a2*f + a3*y) / _Z; A(2 * i + 1, 1) = (b2*f + b3*y) / _Z; A(2 * i + 1, 2) = (c2*f + c3*y) / _Z; A(2 * i + 1, 3) = -x*sin(w) - (y*(x*cos(k) - y*sin(k)) / f - f*sin(k))*cos(w); A(2 * i + 1, 4) = -f*cos(k) - y/ f*(x*sin(k) + y*cos(k)); A(2 * i + 1, 5) = -x; } return A; }
武大《摄影测量》课件—第15讲 空间前方交会汇总
![武大《摄影测量》课件—第15讲 空间前方交会汇总](https://img.taocdn.com/s3/m/05b2d9364431b90d6c85c7d5.png)
Z
Y
BY Z BZ Y N YZ ZY (a) BY Z BZ Y N YZ ZY
S
Y
S
BX
a
S
a
X ( X )
Z
Z
Y
A
X
A
X
Y
第十五讲 空间前方交会
X NX B X N X Y NY BY N Y Z NZ B N Z Z
Z
Y X
Y
Y
S
B
BX
BZ BY X a X Y
X
a
Z
X NX B X N X Z Y NY BY N Y (5) Z NZ B N Z Z
Y
X
A
X
Y
第十五讲 空间前方交会
2、水平像片对的空间前方交会公式
1 0 0 0 1 0 0 0 1
X tr Ytr Z tr
0 Z tr Ytr
Z tr 0 X tr
X tr X 1 0 0 Ytr M Y ; d ' d Z Z tr
0 0 0
( XT ) M X X 0
BX Y BY X N XY YX (b) BX Y BY X N XY YX
Z
ห้องสมุดไป่ตู้
(5)
Y
Z
Y
S
B
BZ BY BX
X
S
a
Z
a
Z
Y
S
X
A
X
摄影测量学教案(第13讲空间前方交会).doc
![摄影测量学教案(第13讲空间前方交会).doc](https://img.taocdn.com/s3/m/2f9a9d7f58fafab069dc0290.png)
当一地面点在立体像对两张像片上都成像时,满足以下2组共线条件方程:
左片
右片 (1)
在已知像片的方位和同名像点坐标时,利用(1)式可以计算出相应地面点的地
面坐标。
2、利用像对的相对方位元素,计算模型点的坐标(模型坐标)。
一个立体像对经过相对定向恢复了两张像片的相对方位之后,其相应光线必在各自的核面内成对相交,所有交点的集后便形成一个与实地相似的几何模型。而这些模型点的坐标便可在一定的摄影测量坐标系中计算出来。
空间前方交会公式的应用难点:
难点:
空间前方交会公式推导
方法手段
课堂教学采用启发式和讨论相结合的教学方法,使用多媒体教学手段。
实习实验
教案正文
第十六讲空间前方交会
备注
一、上讲内容回顾与相关知识复习
绝对定向的概念
绝对定向方程
绝对方位元素的解算
二、内容的引出、内容安排、难点重点介绍
空间前方交会的概念
空间前方交会公式推导(难点)
五、空间前方交会公式的应用
1、地面坐标的计算
取两张像片的外方位角元素 ,利用两张像片的外方位线元素计算出By,Bz,Bx。
分别计算左、右两片的旋转矩阵M和M’。
计算两片上相应像点的摄测坐标(X,Y,Z)和(X’,Y’,Z’)。
计算投影系数N和N’。
按下式计算模型点的空间坐标(△X,△Y,△Z)
(9)
将此式代入(1)中有:
因此:
(4)
(3)、(4)便是空间前方交会的基本公式。在确定了立体像对中两张像片的相对方位后,便可根据这一组公式,计算出模型点的空间坐标。这些坐标的集合便构成了一个以数字形式表示的与实地相似的立体模型。
摄影测量学空间后交-前交实验报告
![摄影测量学空间后交-前交实验报告](https://img.taocdn.com/s3/m/1b7bc68c71fe910ef12df827.png)
中南大学本科生课程设计(实践)任务书、设计报告(摄影测量与遥感概论)题目:空间后方交会-前交院系:地球科学与信息物理学院班级:测绘1201班********学号:***********名:***二零一四年十一月一、实验目的通过对数字影像空间后交前交的程序设计实验,要求我们进一步理解和掌握影像外方位元素的有关理论、原理和方法。
利用计算机程序设计语言编写摄影测量空间交会软件进行快速确定影响的外方位元素及其精度,然后通过求得的外方位元素求解位置点的地面摄影测量坐标,达到通过摄影测量量测地面地理坐标的目的。
二、实验要求1.用C、VB、C++或MA TLAB语言编写空间后方交会-空间前方交会程序2.提交实习报告:程序框图、程序源代码、计算结果、体会3.计算结果:像点坐标、地面坐标、单位权中误差、外方位元素及其精度4.完成时间:11月11日前完成三、实验数据四、实验思路➢利用后方交会得出两张相片各自的外方位元素1)获取已知数据影响比例尺m,,内方位元素x0 、y0 、f ,控制点的地面摄影测量坐标Xtp, Ytp, Ztp2)量测控制点左片和右片的像点坐标 x,y3)确定未知数初值 Xs0, Ys0, Zs0, ω,φ,κ(线元素可用控制点均值代替,角元素可用0初始化),即:∑=Xtp X 41s0,∑=Ytp Y 41s0,f Z *m s =ω=0,φ=0,κ=0 4)计算旋转矩阵R5)利用共线方程逐点计算像点坐标的近似值 6)组成误差方程式并法化 7)解求外方位元素改正数8)检查迭代是否收敛(改正值是否小于某一特定常数) ➢ 利用解出的外方位元素进行前方交会1)获取已知数据x0 , y0 , f, XS1, YS1, ZS1,φ1,ω1,κ1 , XS2, YS2, ZS2,φ2,ω2,κ22)量测像点坐标 x1,y1 ,x2,y23)由外方位线元素计算基线分量BX, BY, BZ4)由外方位角元素计算像空间辅助坐标 X1, Y1, Z1 , X2, Y2, Z2 5)计算点投影系数 N1 , N2 6)计算地面坐标 XA, YA, ZA五、实验过程➢ 程序流程图此过程完成空间后方交会求解像片的外方位元素,其中改正数小于限差(0.00003,相当于0.1的角度值)为止。
双像解析摄影测量与空三概述
![双像解析摄影测量与空三概述](https://img.taocdn.com/s3/m/00314f8283d049649b66582d.png)
vx a11X s a12 Ys a13 Z s a14 a15 a16 ( x) x v y a21X s a22 Ys a23 Z s a24 a25 a26 ( y) y
(2)再用前方交会求出像点对应地面点坐标
Y2 X 2Y2 Y22 vQ Bx Bx N 2 (Z 2 ) N 2 X 2 N 2 Q Z2 Z2 Z2
(2)再用地面控制点将模型纳入测量坐标系求出地面点坐标
X tp X p X0 Y R Y Y tp p 0 Z tp Z p Z0
在求解时,一般情况下是消除数量最多的一组未知数,形成改化 法方程,所以多数情况下是先求得外方位元素的改正数,然后得 到待定点坐标的改正数。求得所有未知数的改正值后,改正值和 新值的和为新的近似值,计算时需反复趋近,直至满足精度。
(三)三种方法的比较
二、解析空中三角测量概述
(一)、解析空中三角测量的定义 (二)、解析空中三角测量的意义
1、李德仁,郑肇葆 编著,《解析摄影测量学》,测绘出版社
2、李德仁,周月琴 编著,《摄影测量与遥感概论》,测绘出版社
v1 A1 误差方程表示为矩阵形式:v 0 2 t1 0 B1 L1 t2 A2 B2 L X 2
v1:左影像像点列出的误 差方程式;v2:右影像像点列出的误 差方程式 t1:左影像外方位元素组 成的列矩阵; 2:右影像外方位元素组 t 成的列矩阵 X:待定点坐标改正数组 成的列矩阵; 1:与v1相应的误差方程式的常 L 数项 L2:与v2相应的误差方程式的常 数项
摄影测量实习报告-单片空间后方交会8页word文档
![摄影测量实习报告-单片空间后方交会8页word文档](https://img.taocdn.com/s3/m/23e68f501ed9ad51f11df202.png)
摄影测量实习报告实习内容:单片空间后方交会编程实习者:李友兵学号:0810050121指导老师:张金平老师实习时间:2019.05.30——2019.06.03一、实习目的与任务此次摄影测量实习主要是要自主编程实现单像空间后方交会,通过已知的内方位元素和控制点像点坐标和地面坐标求解六个外方位元素,在此过程中深入理解单像空间后方交会的原理和对编程的熟悉和理解(我用的是C语言编程),和对时间的合理运用,对知识的综合运用,培养理论的实际运用能力,任务是在一个星期内自主完成。
二、单片空间后方交会理论基础单像空间后方交会:是通过以像点平面坐标为观测值,以控制点坐标为已知值,利用共线条件方程和最小二乘原理,运用间接平差方法,通过迭代求解6个外方位元素。
程序设计的思路与流程三、程序设计的思路与流程(编程框架和步骤)1、根据内方位元素和已知的数据将控制点的框标坐标转换为像平面坐标系坐标:x=x′-x0,y=y′-y02、确定未知数的初始值:角元素初始值κ0=ω0=Φ0=0;线元素初始值Zs0=H=mf,Xs0=(X1+X2+X3+X4)/4,Ys0=(Y1+Y2+Y3+Y4)/43、利用角元素初始值计算方向余弦值组成旋转矩阵Ra1=cosΦ*cosκ-sinΦ*sinω*sinκ,a2=-cosΦ*sinκ-sinΦ*sin ω*cosκ,a3=-sinΦ*cosωb1=cosω*sinκ,b2=cosω*cosκ,b3=-sinωc1=sinΦ*cosκ+cosΦ*sinω*sinκ,c2=-sinΦ*sinκ+cosΦ*sin ω*cosκ,c3=cosΦ*cosω4、逐点计算控制点的像点坐标的近似值,共线方程为:x=(-f*(a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Ys) +c3*(Z-Zs))y=(-f*(a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Ys) +c3*(Z-Zs))(x)=(-f*(a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Y s)+c3*(Z-Zs))(y)=(-f*(a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs)))/(a3*(X-Xs)+b3*(Y-Y s)+c3*(Z-Zs))5、组成误差方程:Vx=a11*dXs+a12*dYs+a13*dZs+a14*dΦ+a15*dω+a16*dκ+(x)-xVy=a21*dXs+a22*dYs+a23*dZs+a24*dΦ+a25*dω+a26*dκ+(y)-y系数求解(是共线方程分别外方位元素求导,是共线方程线性化的系数):变量代换A= a1*(X-Xs)+b1*(Y-Ys)+c1*(Z-Zs)B= a2*(X-Xs)+b2*(Y-Ys)+c2*(Z-Zs)C= a3*(X-Xs)+b3*(Y-Ys)+c3*(Z-Zs)a11=(a1*f+a3*x)/C,a12=(b1*f+b3*x)/C,a13=(c1*f+c3*f)/C,a14=y *sinω-((x*(x*cosκ-y*sinκ))/f+f*cosκ)cosω,a15=-f*sin κ-(x*(x*sinκ+y*cosκ)/f),a16=ya21=(a2*f+a3*x)/C,a22=(b2*f+b3*x)/C,a23=(c2*f+c3*x)/C,a24=-xsinω-((x*(x*cosκ-y*sinκ))/f-f*sinκ)cosω,a25=-f*cosκ-(y*(x*sinκ+y*cosκ)/f),a26 =-x 误差方程的常系数(是像点坐标观测值与计算的近似值的差值):lx=x-(x) ,ly=y-(y)6、组成法方程,解求外方位元素改正数X=(A T A)-1A T L(A为误差方程的系数矩阵,L为误差方程的常系数矩阵,通过步骤5求得,此处先求A T A再求矩阵的逆矩阵,解得的改正数加上相应的近似值得到外方位元素新的近似值)7、检查计算是否收敛:将求得的外方位元素改正数与规定的限差比较,大于限差继续迭代,小于限差则终止。
摄影测量实验报告材料(空间后方交会—前方交会)
![摄影测量实验报告材料(空间后方交会—前方交会)](https://img.taocdn.com/s3/m/8a0e7db9a6c30c2259019ec9.png)
空间后方交会-空间前方交会程序编程实验一.实验目的要求掌握运用空间后方交会-空间前方交会求解地面点的空间位置。
学会运用空间后方交会的原理,根据所给控制点的地面摄影测量坐标系坐标以及相应的像平面坐标系中的坐标,利用计算机编程语言实现空间后方交会的过程,完成所给像对中两张像片各自的外方位元素的求解。
然后根据空间后方交会所得的两张像片的内外方位元素,利用同名像点在左右像片上的坐标,求解其对应的地面点在摄影测量坐标系中的坐标,并完成精度评定过程,利用计算机编程语言实现此过程。
二.仪器用具计算机、编程软件(MATLAB)三.实验数据实验数据包含四个地面控制点(GCP)的地面摄影测量坐标及在左右像片中的像平面坐标。
此四对坐标运用最小二乘法求解左右像片的外方位元素,即完成了空间后方的过程。
另外还内方位元素:, , 四.实验框图输入GCP的像点坐标xy确定初始值片3= K=0 , Xs, Ys, Zs计算旋转矩阵R计算®、3、K、Xs、Ys、Zs改正后的值小于1 r计算完毕此过程完成空间后方交会求解像片的外方位元素,其中改正数小于限差(0.00003,相当于0.1 '的角度值)为止。
在这个过程中采用迭代的方法,是外方位元素逐渐收敛于理论值,每次迭代所得的改正数都应加到上一次的初始值之中。
输入所需计算点的像平面坐标x1,y1 ;x2,y2计算摄影基线的三个坐标分量Bx By Bz计算完毕,精度评定在空间后方交会中运用的数学模型为共线方程# a\(X - Xf) +M(r -nr)+cl(Z-Zf)------------------------心(X-X附+ +厂f<? 2( X - X F)+W( X - Ys)+c2( Z Zf)P _ ~曲 * - Xs) + 即-X) + 心(Z -⑻确定Xs, Ys, Zs的初始值时,对于左片可取地面左边两个GCP的坐标的平均值作为左片Xs和Ys的初始值,取右边两个GCP的坐标平均值作为右片Xs和Ys的初始值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
空间后交—前交程序设计(实验报告)姓名:班级:学号:时间:空间后交-前交程序设计一、实验目的用 C 、VB或MATLAB语言编写空间后方交会-空间前方交会程序⑴提交实习报告:程序框图、程序源代码、计算结果、体会⑵计算结果:像点坐标、地面坐标、单位权中误差、外方位元素及其精度二、实验数据f=150。
000mm,x0=0,y0=0三、实验思路1。
利用空间后方交会求左右像片的外方位元素(1).获取m(于像片中选取两点,于地面摄影测量坐标系中选取同点,分别计算距离,距离比值即为m),x,y,f,X,Y,Z(2).确定未知数初始值Xs,Ys,Zs,q,w,k(3).计算旋转矩阵R(4).逐点计算像点坐标的近似值(x),(y)(5)。
组成误差方程式(6)。
组成法方程式(7).解求外方位元素(8)。
检查是否收敛,即将求得的外方位元素的改正数与规定限差比较,小于限差即终止;否则用新的近似值重复步骤(3)-(7)2。
利用求出的外方位元素进行空间前交,求出待定点地面坐标(1).用各自像片的角元素计算出左、右像片的方向余弦值,组成旋转矩阵R1,R2(2)。
根据左、右像片的外方位元素,计算摄影基线分量Bx,By,Bz(3)。
计算像点的像空间辅助坐标(X1,Y1,Z1)和(X2,Y2,Z2)(4).计算点投影系数N1和N2(5)。
计算未知点的地面摄影测量坐标四、实验过程⑴程序框图函数AandL%求间接平差时需要的系数%%%已知%a=像点坐标x,b=像点坐标y,f内方位元素主距%φ=q,ψ=w,κ=k%像空间坐标系X,Y,Z%地面摄影测量坐标系Xs,Ys,Zsfunction [A1,L1,A2,L2]=AandL(a,b,f,q,w,k,X,Y,Z,Xs,Ys,Zs) %%%%%%%%%%%选择矩阵元素a1=cos(q)*cos(k)—sin(q)*sin(w)*sin(k);a2=-cos(q)*sin(k)—sin(q)*sin(w)*cos(k);a3=-sin(q)*cos(w);b1=cos(w)*sin(k);b2=cos(w)*cos(k);b3=—sin(w);c1=sin(q)*cos(k)+cos(q)*sin(w)*sin(k);c2=—sin(q)*sin(k)+cos(q)*sin(w)*cos(k);c3=cos(q)*cos(w);%%%%%%%共线方程的分子分母X_=a1*(X—Xs)+b1*(Y-Ys)+c1*(Z-Zs);Y_=a2*(X-Xs)+b2*(Y—Ys)+c2*(Z-Zs);Z_=a3*(X—Xs)+b3*(Y—Ys)+c3*(Z-Zs);%%%%%%%近似值x=-f*X_/Z_;y=-f*Y_/Z_;%%%%%%%A组成L组成a11=1/Z_*(a1*f+a3*x);a12=1/Z_*(b1*f+b3*x);a13=1/Z_*(c1*f+c3*x);a21=1/Z_*(a2*f+a3*y);a22=1/Z_*(b2*f+b3*y);a23=1/Z_*(c2*f+c3*y);a14=y*sin(w)-(x/f*(x*cos(k)—y*sin(k))+f*cos(k))*cos(w);a15=-f*sin(k)—x/f*(x*sin(k)+y*cos(k));a16=y;a24=—x*sin(w)-(y/f*(x*cos(k)-y*sin(k))—f*sin(k))*cos(w);a25=-f*cos(k)-y/f*(x*sin(k)+y*cos(k));a26=-x;lx=a—x;ly=b-y;%%%%%%%%%组成一个矩阵,并返回A1=[a11,a12,a13,a14,a15,a16];A2=[a21,a22,a23,a24,a25,a26];L1=lx;L2=ly;函数deg2dms%%%%%%%%角度转度分秒function y=deg2dms(x)a=floor(x);b=floor((x-a)*60);c=(x-a—b/60)*3600;y=a+(b/100)+(c/10000);函数dms2deg%%%%%度分秒转度function y=dms2deg(x)a=floor(x);b=floor((x-a)*100);c=(x-a—b/100)*10000;y=a+b/60+c/3600;函数ok%%%%%%%%%%%%%%目的是为了保证各取的值的有效值%%xy为n*1,a为1*nfunction result=ok(xy,a)format short gi=size(xy,1);for n=1:io=xy(n)—floor(xy(n,1));o=round(o*(10^a(n)))/(10^a(n));xy(n,1)=floor(xy(n,1))+o;endformat long gresult=xy;函数rad2dmsxy%%%%求度分秒表现形式的三个外方位元素,三个角度function xydms=rad2dmsxy(xy)[a,b,c,d,e,f]=testvar(xy);d=deg2dms(rad2deg(d));e=deg2dms(rad2deg(e));f=deg2dms(rad2deg(f));xydms=[a,b,c,d,e,f]';函数spacehoujiao%%%%%%%空间后交%%% f%%输入p(2*n,1)%%像点坐标x,y,X,Y,Z,均为(n,1)function [xy,m,R]=spacehoujiao(p,x,y,f,X,Y,Z)format long;%%%%%权的矢量化,这是等精度时的,如果非,将函数参数改为PP=diag(p);%%求nj=size(X,2);%%初始化Xs=0;Ys=0;Zs=0;for n=1:jXs=Xs+X(n);Ys=Ys+Y(n);Zs=Zs+Z(n);endSx=sqrt((x(2)-x(1))^2+(y(2)—y(1))^2);%%%%两像点之间距离Sd=sqrt((X(2)-X(1))^2+(Y(2)-Y(1))^2);%%%%两地面控制点之间距离m=Sd/Sx; %%%%图像比例系数Xs=Xs/j;Ys=Ys/j;Zs=m*f+Zs/j;m0=0;q=0;w=0;k=0;i=0;a=rand(2*j,6);l=rand(2*j,1);%%%%for n=1:j[a(2*n—1,:),l(2*n—1,1),a(2*n,:),l(2*n,1)]=AandL(x(n),y(n),f,q,w,k,X(n),Y(n),Z(n),Xs,Ys,Zs);enddet=inv(a’*P*a)*transpose(a)*P*l;%%%%%%%%%循环体while 1%%%%%%%%%%%%%%%%[dXs,dYs,dZs,dq,dw,dk]=testvar(det);detXs=abs(dXs);detYs=abs(dYs);detZs=abs(dZs);detq=abs(dq);detw=abs(dw);detk=abs(dk);%%%%%%%%%if ((detXs<0。
01)&&(detYs〈0。
01)&&(detZs〈0。
01)&&(detq<pi/648000)&&(detw<pi/648000)&&(detk〈pi/648000))break;elseV=(a*det-l);Q=inv(a’*P*a);m0=m0+sqrt((V’*P*V)/(2*j-6));%%m0需要每次的改正数算出来相加%%%Xs=Xs+dXs;Ys=Ys+dYs;Zs=Zs+dZs;q=q+dq;w=w+dw;k=k+dk;%%%for n=1:j[a(2*n—1,:),l(2*n—1,1),a(2*n,:),l(2*n,1)]=AandL(x(n),y(n),f,q,w,k,X(n),Y(n),Z(n),Xs,Ys,Zs);enddet=inv(a’*P*a)*transpose(a)*P*l;i=i+1;%%%%end%%%end[dXs,dYs,dZs,dq,dw,dk]=testvar(det);detXs=abs(dXs);detYs=abs(dYs);detZs=abs(dZs);detq=abs(dq);detw=abs(dw);detk=abs(dk);V=(a*det-l);Q=inv(a’*P*a);m0=m0+sqrt((V’*P*V)/(2*n—6));%%%Xs=Xs+dXs;Ys=Ys+dYs;Zs=Zs+dZs;q=q+dq;w=w+dw;k=k+dk;%%%%%%%%%%%%%可以输出迭代次数的i%%%%%%%%%%%%Xs,Ys,Zs,q,w,k,i,dXs,dYs,dZs,dq,dw,dk,detXs,detYs,detZs %%%%%%%%%%%精度mo=m0*sqrt(Q);m=[mo(1,1),mo(2,2),mo(3,3),mo(4,4),mo(5,5),mo(6,6)]';[mXs,mYs,mZs,mq,mw,mk]=testvar(m);%%%%%%%%%输出xy=[Xs,Ys,Zs,q,w,k]';%%输出(6,1)的外方位元素m=[m0,mXs,mYs,mZs,mq,mw,mk]';%%单位误差,各元素中误差R=xyR(xy);%%旋转矩阵函数spaceqianjiao%%空间前交%输入f%输入x1,y1,x2,y2,R1,R2,xy1,xy2 (n,1)%输出X,Y,Z (n,1)function [X,Y,Z]=spaceqianjiao(x1,y1,x2,y2,f,R1,R2,xy1,xy2)i=size(x1,2);[Xs1,Ys1,Zs1,q1,w1,k1]=testvar(xy1);[Xs2,Ys2,Zs2,q2,w2,k2]=testvar(xy2);for n=1:i[X1(n),Y1(n),Z1(n)]=testvar(R1*[x1(n),y1(n),—f]’);[X2(n),Y2(n),Z2(n)]=testvar(R2*[x2(n),y2(n),-f]');Bx=Xs2-Xs1;By=Ys2-Ys1;Bz=Zs2—Zs1;N1=(Bx*Z2(n)—Bz*X2(n))/(X1(n)*Z2(n)-X2(n)*Z1(n));N2=(Bx*Z1(n)-Bz*X1(n))/(X1(n)*Z2(n)—X2(n)*Z1(n)); X(n)=Xs1+N1*X1(n);Z(n)=Zs1+N1*Z1(n);Y(n)=0.5*((Ys1+N1*Y1(n))+(Ys2+N2*Y2(n)));end函数testvar%分割矩阵。