单像空间后方交会和双像解析空间后方-前方交会的算法程序实现

合集下载

基于MATLAB的摄影交会测量计算程序设计与开发

基于MATLAB的摄影交会测量计算程序设计与开发

产业科技创新 Industrial Technology Innovation78Vol.2 No.17产业科技创新 2020,2(17):78~79Industrial Technology Innovation 基于MATLAB的摄影交会测量计算程序设计与开发袁 龙,曹雅迪(四川省测绘技术服务中心,四川 成都 610036)摘要:交会测量是测量学中一种常用的测量方法,在摄影测量中单张像片空间后方交会是摄影测量基本问题之一,其基本原理是通过地面已知的若干控制点和其在摄影像片上的相应像点坐标,通过计算的方法求解其摄站参数。

本文研究通过使用单像空间后方交会的基于共线条件方程的平差解法,使用安徽省某区域的实验数据,通过matlab软件实现了基于单像空间后方交会的程序设计,计算了其左右像片的收敛情况,结果表明其计算结果的数据精度和收敛情况较好,达到了预期的实验效果。

通过单像空间的后方交会的计算结果,文章进而根据其数据结果在matlab中构建了其空间前方交会的程序设计,求解实验区待定点的地面坐标,通过前方交会坐标变换情况,分析了其结果精度和需要注意的问题。

从总的研究结果来看,单张像片的空间后方交会是前方交会计算的基础,因此,单张像片空间后方交会成为解决这两个问题以及算法程序实现的关键。

关键词:摄影交会;后方交会;前方交会;程序设计中图分类号:U495 文献标识码:A 文章编号:2096-6164(2020)17-0078-02摄影测量是指通过搭载摄影设备,获取地物空间信息的手段完成测量作业,摄影测量的主要任务是通过获取二维的像片点空间坐标得到对应目标的实际三维坐标,完成数据的测量,后期通过数据处理和软件操作,应用到空间物体的三维建模、空间分析和综合制图等领域,有着广泛的社会应用和较高的使用价值。

单像空间后方交会的数据计算从目前来说主要有三种方法:基于共线条件方程的平差解法、基于直接线性变换的解法和角锥法。

单像空间后方交会名词解释

单像空间后方交会名词解释

单像空间后方交会名词解释
单像空间后方交会是摄影测量学中的一个重要概念,它是指利用单个影像进行地物测量和定位的方法。

在单像空间后方交会中,通过对单张影像进行分析,可以确定地面上物体的位置和形状。

这个过程涉及到对影像中的特征点进行识别和匹配,然后利用相机内外参数以及影像上的像点坐标来计算地物的三维坐标。

单像空间后方交会的过程包括以下几个步骤,首先是对影像进行预处理,包括去畸变、影像配准等操作;然后是特征点的提取和匹配,这一步是通过计算机视觉算法来实现的,可以利用角点、边缘等特征来进行匹配;接下来是相机内外参数的标定,这一步是为了将像素坐标转换为实际世界坐标而进行的;最后是利用已知的相机参数和像点坐标来计算地物的三维坐标。

单像空间后方交会在航空摄影、遥感影像解译和地图制图等领域有着广泛的应用。

它可以通过对单张影像的处理,实现对地物的测量和定位,为地理信息系统和地图制图提供了重要的数据基础。

同时,随着计算机视觉和图像处理技术的不断发展,单像空间后方交会的精度和效率也在不断提高,为各种应用领域提供了更加可靠和精确的地物信息。

摄影测量复习题

摄影测量复习题

、名词解释1、像片比例尺:把摄影像片当做水平像片,地面取平均高程,这时相片上线段l 与地面上相应线段水平距离 L 之比。

2、绝对航高 :相对于平均海平面的航高,是指摄影物镜在摄影瞬间的真实海拔高度。

3、相对航高:摄影机物镜相对于某一基准面的高度。

4、像点位移:在实际航空摄影时,在中心投影的情况下,当航摄的飞行姿态出现较大倾斜,地面有起伏 时,便会导致地面点在航摄相片上构象相对于在理想情况下的构象,产生位置的差异,这一差异称为像 点位移。

5、摄影基线 :航线方向相邻两个摄影站点间的空间距离。

6、航向重叠:同一条航线内相邻像片之间的影像重叠7、旁向重叠:两相邻航带像片之间也需要有一定的影像重叠,这种重叠影像部分称为旁向重叠度。

8、像片倾角:摄影瞬间摄影机主光轴偏离铅垂线的夹角称为相片倾角。

9、像片的方位元素:确定摄影瞬间摄影物镜(摄影中心)与像片在地面设定的空间坐标系中的位置与姿 态参数,即确定这三者之间相关位置的参数。

10、像片的内方位元素:表示摄影中心与像片之间相互位置的参数。

11、像片的外方位元素:表示摄影中心与像片在地面坐标系中的位置和姿态的参数。

12、相对定向元素:确定一个立体像对两像片的相对位置的元素 。

13、绝对定向元素:描述立体像对在摄影瞬间的绝对位置和姿态的参数。

14、单像空间后方交会:利用影像覆盖范围内一定数量的控制点的空间坐标与影像坐标,根据共线条件 方程,反求该影像的外方位元素,这种方法称单幅影像的空间后方交会。

15、空间前方交会:由立体像对左右两影像的内、外方位元素和同名像点影像坐标量测值来确定相应模 型点坐标(或地面点的地面坐标) ,称立体像对的空间前方交会。

16、双像解析摄影测量:17、空中三角测量:根据航摄像片上所测量的像点坐标以及极少量的地面控制点求出地面加密点的物方 空间坐标。

18、POS :(机载定位定向系统)是基于全球定位系统(GPS )和惯性测量装置(IMU )的直接测定影像外方位元素的现代航空摄影导航系统,可用于在无地面控制或仅有少量地面控制点情况下的航空遥感对 地定位和影像获取。

摄影测量考试复习题说课讲解

摄影测量考试复习题说课讲解

摄影测量考试复习题说课讲解摄影测量考试复习题一、名词解释:1、摄影测量学:对研究的对象进行摄影,根据所获得的构象信息,从几何方面和物理方面加以分析研究,从而对所摄对象的本质提供各种资料的一门学科。

2、解析空中三角测量:用计算的方式,根据量测的像点坐标和少量的控制点,采用较严密的数学公式,利用最小二乘原理,在计算机上解求测图所需控制点的平面坐标和高程。

3、数字摄影测量是基于数字影像与摄影测量的基本原理,应用计算计算机技术,数字影像处理,影像匹配,模拟识别等多学科的理论与方法,提取所摄对象,用数字方式表达几何与物理信息的摄影测量学的分支学科。

4、空间前方交会:由立体像对的内、外方位元素和像点坐标来确定相应地面点坐标的方法。

5、单向空间后方交会:利用航片上三个以上的像点坐标及相应的地面控制点坐标计算像片外方位元素的工作。

6、影像匹配:利用两个影像信号相关的函数,评价它们之间的相似性,以确定同名像点的过程。

7、数字影像匹配:用数字计算的方法对立体像对经数字化后所取得的灰度值,通过相关函数,探求左右影像的相似程度,以确定同名像点。

8、像片解析:利用数学分析的方法,研究被摄景物的成像规律,根据像片上的影像与所摄物体之间的数学关系式,从而建立起的像点与物点的坐标关系式。

9、双向解析摄影测量:按照立体像对与被摄物体的几何关系,以数学计算方式,通过计算机解求被摄物体的三维空间坐标的方法。

光束法:用已知的少数控制点以及待求的地面点,在立体像对内同时解求两像片的外方位元素和待定点的坐标,俗称一步定向法。

10、摄影基线:航线方向相邻两个摄站点间的空间距离。

11、相对定向:根据立体像对内在的几何关系恢复两张像片之间的相对位置和姿态,使同名光线对对相交,建立与地面相似的立体模型,即确定一个立体像对两张相片的相对位置。

12、绝对定向:用已知的地面控制点确定相对定向所建立的立体几何模型的比例尺和空间方位。

解析法绝对定向:利用已知的地面控制点,从绝对定向的关系式出发,解求七个绝对定向元素。

摄影测量学空间后方交会实验报告

摄影测量学空间后方交会实验报告

摄影测量学实验报告实验一、单像空间后方交会学院:建测学院班级:测绘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.实验结果四.实验总结此次实验让我深入了解单像空间后方交会的计算过程,加强了对空间后方交会基本公式和误差方程式,法线方程式的记忆。

(完整版)摄影测量作业部分答案

(完整版)摄影测量作业部分答案

1.什么是摄影测量学,摄影测量发展的三个阶段摄影测量学是对研究的物体进行摄影,测量和解译所获得的影像,获取被摄物体的几何信息和物理信息的一门科学。

三个阶段:模拟、解析、数字摄影测量。

2.根据成图的需要,规定了摄影比例尺后,如何选择航空摄影机与航摄高度?答:采用特宽角航摄机,航高值就小,采用常角或窄角航摄机,航高值就大。

(航高的大小将决定飞机实际升限和最小安全高度的限制,另外,测图的高程测定精度与航高有关(高程中误差与航高成正比))大比例尺单像测图,应选用常角或窄角航摄机,小比例尺立体测图应选用特宽角航摄机。

3.什么是航摄像片的内外方位元素,各有何作用?答:内方位元素包括三个参数,即摄影中心S到像片的垂距(主距)f及像主点o在像框标坐标系中的坐标00,y x,用其来恢复摄影光束。

确定摄影光束在摄影瞬间的空间位置和姿态的参数,称为外方位元素,一张的外方位元素包括六个参数,其中有三个是直线元素,用于描述摄影中心的空问坐标值;另外三个是角元素,用于表达像片面的空间姿态。

4.摄影测量中常用的坐标系有哪些,各有何作用?答:摄影测量中常用的坐标系有两大类。

一类是用于描述像点的位置,称为像方空间坐标系;另——类是用于描述地面点的位置.称为物方空间坐标系。

(1)像方空间坐标系①像平面坐标系像平面坐标系用以表示像点在像平面上的位置,通常采用右手坐标系,xy轴的选择按需要而定.在解析和数字摄影测量中,常根据框标来确定像平面坐标系,称为像框标坐标系。

②像空间坐标系为了便于进行空间坐标的变换,需要建立起描述像点在像空间位置的坐标系,即像空间坐标系。

以摄影中心S为坐标原点,xy,轴与像平面坐标系的xy轴平行,z轴与主光轴重合,形成像空间右手直角坐标系s-xyz③像空间辅助坐标系像点的像空间坐标可直接以像平面坐标求得,但这种坐标的待点是每张像片的像空间坐标系不统一,这给计算带来困难。

为此,需要建立一种相对统一的坐标系.称为像空间辅助坐标系,用s-XYZ表示。

摄影测量实验报告(空间后方交会—前方交会)

摄影测量实验报告(空间后方交会—前方交会)

空间后方交会—空间前方交会程序编程实验一.实验目的要求掌握运用空间后方交会-空间前方交会求解地面点的空间位置.学会运用空间后方交会的原理,根据所给控制点的地面摄影测量坐标系坐标以及相应的像平面坐标系中的坐标,利用计算机编程语言实现空间后方交会的过程,完成所给像对中两张像片各自的外方位元素的求解。

然后根据空间后方交会所得的两张像片的内外方位元素,利用同名像点在左右像片上的坐标,求解其对应的地面点在摄影测量坐标系中的坐标,并完成精度评定过程,利用计算机编程语言实现此过程.二.仪器用具计算机、编程软件(MATLAB)三.实验数据实验数据包含四个地面控制点(GCP)的地面摄影测量坐标及在左右像片中的像平面坐标。

此四对坐标运用最小二乘法求解左右像片的外方位元素,即完成了空间后方的过程.另外还给出了5对地面点在左右像片中的像平面坐标和左右像片的内方位元素。

实验数据如下:内方位元素:f=152。

000mm,x0=0,y0=0 四.实验框图此过程完成空间后方交会求解像片的外方位元素,其中改正数小于限差(0。

00003,相当于0。

1'的角度值)为止。

在这个过程中采用迭代的方法,是外方位元素逐渐收敛于理论值,每次迭代所得的改正数都应加到上一次的初始值之中。

在空间后方交会中运用的数学模型为共线方程确定Xs,Ys,Zs的初始值时,对于左片可取地面左边两个GCP的坐标的平均值作为左片Xs 和Ys的初始值,取右边两个GCP的坐标平均值作为右片Xs 和Ys的初始值。

Zs可取地面所有GCP的Z坐标的平均值再加上航高.空间前方交会的数学模型为:五.实验源代码function Main_KJQHFJH()global R g1 g2 m G a c b1 b2;m=10000;a=5;c=4;feval(@shuru);%调用shuru()shurujcp()函数完成像点及feval(@shurujcp);%CCP有关数据的输入XYZ=feval(@MQZqianfangjh); %调用MQZqianfangjh()函数完成空间前方、%%%%%% 单位权中误差%%%%%后方交会计算解得外方位元素global V1 V2;%由于以上三个函数定义在外部文件中故需VV=[]; %用feval()完成调用过程for i=1:2*cVV(i)=V1(i);VV(2*i+1)=V2(i);endm0=sqrt(VV*(VV’)/(2*c-6));disp('单位权中误差m0为正负:’);disp(m0); %计算单位权中误差并将其输出显示输入GCP像点坐标及地面摄影测量坐标系坐标的函数和输入所求点像点坐标函数:function shurujcp()global c m;m=input(’摄影比例尺:');%输入GCP像点坐标数据函数并分别将其c=input('GCP的总数=');%存入到不同的矩阵之中disp('GCP左片像框标坐标:');global g1;g1=zeros(c,2);i=1;while i<=cm=input('x=');n=input('y=');g1(i,1)=m;g1(i,2)=n;i=i+1;enddisp('GCP右片像框标坐标:’);global g2;g2=zeros(c,2);i=1;while i〈=cm=input('x=’);n=input('y=’);g2(i,1)=m;g2(i,2)=n;i=i+1;end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function shuru()global a;a=input('计算总像对点数='); %完成想计算所需的像平面坐标global b1;%坐标输入,存入不同的矩阵中b1=zeros(a,2);disp('左片像点坐标:')i=1;while i〈=am=input('x=’);n=input(’y=’);b1(i,1)=m;b1(i,2)=n;i=i+1;end%%global b2;b2=zeros(a,2);disp(’右片像点坐标:')i=1;while i〈=am=input('x=’);n=input('y=’);b2(i,1)=m;b2(i,2)=n;i=i+1;end%%global c;c=input(’GCP的总数=');disp('GCP摄影测量系坐标:’)global G;G=zeros(3,c);i=1;while i〈=cm=input(’X=');n=input(’Y=');v=input(’Z=');G(i,1)=m;G(i,2)=n;G(i,3)=v;i=i+1;end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%空间前方交会和后方交会函数:function XYZ=MQZqianfangjh()global R1 R2 a f b1 b2 Ra Rb;global X1 X2;R1=Ra;R2=Rb;R1=zeros(3,3);R2=zeros(3,3);global g1 g2 G V1 V2 V WF c QXX QXX1 QXX2;xs0=(G(1,1)+G(3,1))/2;ys0=(G(1,2)+G(3,2))/2;[Xs1,Ys1,Zs1,q1,w1,k1 R]=houfangjh(g1,xs0,ys0);%对左片调用后方交会函数R1=R;V1=V;WF1=WF;QXX1=QXX;save '左片外方位元素为。

空间后方—前方交会的原理

空间后方—前方交会的原理

空间后方—前方交会的原理空间后方—前方交会是一种导航技术,通过测量目标物体在不同观测点的角度,并利用三角测量原理计算目标物体的位置。

这种技术广泛应用于航空、航天、导航等领域,可以帮助人们准确地确定目标物体的位置和方向。

在空间后方—前方交会中,观测者需要站在不同的位置观测目标物体,并测量目标物体相对于观测点的角度。

观测者需要使用测角仪或其他测量工具来测量角度,并记录下相应的数据。

测量完所有观测点的角度后,观测者需要根据这些角度数据进行三角计算,以确定目标物体的位置。

三角计算是利用三角函数来计算角度和边长的关系,通过已知的角度和边长来计算未知的角度和边长。

观测者需要根据测量得到的角度数据和观测点之间的距离,使用三角函数计算目标物体的位置坐标。

空间后方—前方交会的原理简单明了,但在实际应用中需要考虑一些因素。

首先,观测者需要选择合适的观测点,观测点的位置应尽量避免遮挡物,以确保观测到目标物体的角度准确无误。

其次,观测者需要准确测量角度,并尽量避免误差的产生。

最后,观测者需要进行精确的三角计算,以确保计算出的目标物体位置准确无误。

空间后方—前方交会技术的应用非常广泛。

在航空领域,飞行员可以利用该技术确定飞机的位置和方向,以确保飞行安全。

在航天领域,航天员也可以利用该技术确定航天器的位置和方向,以实现精确的轨道控制。

此外,该技术还可以应用于导航系统中,帮助人们准确导航和定位。

空间后方—前方交会是一种通过测量目标物体在不同观测点的角度,并利用三角计算原理确定目标物体位置的导航技术。

该技术在航空、航天、导航等领域有着广泛的应用,可以帮助人们准确地确定目标物体的位置和方向。

通过合理的观测点选择、准确的角度测量和精确的三角计算,空间后方—前方交会技术可以为人们提供准确可靠的导航和定位服务。

(完整word版)单像空间后方交会程序报告

(完整word版)单像空间后方交会程序报告

单像空间后方交会程序报告指导老师:刘老师班级:测绘 101姓名:尚锋学号:19号1、应用程序的主进口部分的代码:using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;namespace 单像空间后方交会{static class Program{///<summary>///应用程序的主进口点。

///</summary>[ STAThread]static void Main(){Application .EnableVisualStyles();Application .SetCompatibleTextRenderingDefault( false );Application .Run( new Form1());}}}2、方法解算类(通用)部分的代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 单像空间后方交会{class Tongyong{struct image_point // 一个像点结构,包括像点坐标和地面点坐标{public double x;public double y;public double X;public double Y;public double Z; }private private private private private private private private private private private private private publicdouble f;// 主距double u;//u 为外方向元素,下边 5个同样double w;double k;double Xs;double Ys;double Zs;image_point [] p = new image_point [4];// 四个控制点double [] R = new double [9]; // 旋转矩阵double [] a = new double [8];// 像点坐标近似值double [,] A =new double [8, 6];// 偏差方程式系数double [] L = new double [8];// 偏差方程式常数项int count = 0;// 统计代次数Tongyong( double g, double [] q)// 结构函数,初始化各变量 , 单位 m{f = g;for ( int i = 0; i < 4; i++){int j = i * 5;p[i].x = q[j];p[i].y = q[j + 1];p[i].X = q[j + 2];p[i].Y = q[j + 3];p[i].Z = q[j + 4];}double ave = 0, sum = 0;for ( int i = 0; i < 3; i++)// 求比率尺分母{for ( int j = i + 1; j < 4; j++){sum += Math.Pow(p[i].Y - p[j].Y, 2)) / + Math.Pow(p[i].y - p[j].y, 2));} Math.Sqrt(Math.Pow(p[i].X - p[j].X, 2) + Math.Sqrt( Math.Pow(p[i].x - p[j].x, 2)}ave = sum / 6;u = 0;// 给定外方向元素的初始值w = 0;k = 0;Xs = (p[0].X + p[1].X + p[2].X + p[3].X) / 4; , 角度均设置为0//Xs 为四个控制点 X的均匀值,Ys近似Ys = (p[0].Y + p[1].Y + p[2].Y + p[3].Y) / 4;Zs = (p[0].Z + p[1].Z + p[2].Z + p[3].Z) / 4 + ave * f;}private double sin( double m) // 正弦,为简化而写 , 下同{return Math.Sin(m);}private double cos( double m){return Math.Cos(m);}private void calcos()// 计算旋转矩阵{R[0] = cos(u) * cos(k) - sin(u) * sin(w) * sin(k);R[1] = -cos(u) * sin(k) - sin(u) * sin(w) * cos(k);R[2] = -sin(u) * cos(w);R[3] = cos(w) * sin(k);R[4] = cos(w) * cos(k);R[5] = -sin(w);R[6] = sin(u) * cos(k) + cos(u) * sin(w) * sin(k);R[7] = cos(u) * sin(w) * cos(k) - sin(u) * sin(k);R[8] = cos(u) * cos(w);}private void calabout() // 像点坐标的近似值{int i;for (i = 0; i < 4; i++){a[2 * i] = -f * (R[0] * (p[i].X - Xs) + R[3] * (p[i].Y-Ys) + R[6] * (p[i].Z - Zs)) / (R[2] * (p[i].X - Xs) + R[5] * (p[i].Y-Ys) + R[8] * (p[i].Z - Zs));a[2* i + 1] = -f * (R[1] * (p[i].X - Xs) + R[4] * (p[i].Y -Ys) + R[7] * (p[i].Z - Zs)) / (R[2] * (p[i].X - Xs) + R[5] * (p[i].Y-Ys) + R[8] * (p[i].Z - Zs));}}private void calxx() // 偏差方程式的系数和常数项{int for i;(i = 0; i < 4; i++) // 系数{double z = R[2] * (p[i].X - Xs) + R[5] * (p[i].Y - Ys) + R[8] * (p[i].Z - Zs);int n = i * 2;A[n, 0] = (R[0] * f + R[2] * p[i].x) / z;A[n, 1] = (R[3] * f + R[5] * p[i].x) / z;A[n, 2] = (R[6] * f + R[8] * p[i].x) / z;A[n, 3] = p[i].y * sin(w) - f * cos(w) * cos(k) - p[i].x/f * (p[i].x * cos(w) * cos(k) - p[i].y * cos(w) * sin(k)); A[n,4] = -f * sin(k) - p[i].x / f * (p[i].x * sin(k) +p[i].y * cos(k));A[n, 5] = p[i].y;A[n + 1, 0] = (R[1] * f + R[2] * p[i].y) / z;A[n + 1, 1] = (R[4] * f + R[5] * p[i].y) / z;A[n + 1, 2] = (R[7] * f + R[8] * p[i].y) / z;A[n + 1, 3] = -p[i].x * sin(w) + f * cos(w) * sin(k) -p[i].x / f * (p[i].x * cos(w) * cos(k) - p[i].y * sin(k) * cos(w));A[n + 1, 4] = -f * cos(k) - p[i].y / f * (p[i].x * sin(k) + p[i].y * cos(k));A[n + 1, 5] = -p[i].x;}for (i = 0; i < 4; i++)// 常数项{L[2 * i] = p[i].x - a[2 * i];L[2 * i + 1] = p[i].y - a[2 * i + 1];}}private double calAdd(){double [,] temp =new double [6, 6];//A 的转置与 A相乘的积double [,] ANew = new double [6, 8];//A 的转置double [] t =new double [6];//A 的转置与 L相乘的积double [] X = new double [6];// 更正数int i, j, n;for (i = 0; i < 8; i++)// 求A的转置 ANew{for (j = 0; j < 6; j++){ANew[j, i] = A[i, j];}}for (i = 0; i < 6; i++)// 求A的转置与 A相乘的积 temp {for (j = 0; j < 6; j++){temp[i, j] = 0;for (n = 0; n < 8; n++){temp[i, j] += ANew[i, n] * A[n, j];}}}MATINV(temp);//temp for (i = 0; i < 6; i++) 的逆,保留在自己矩阵中// 求A的转置与 L的乘积 t{t[i] = 0;for (j = 0; j < 8; j++){t[i] += ANew[i, j] * L[j];}}for (i = 0; i < 6; i++)// 求更正数 X{X[i] = 0;for (j = 0; j < 6; j++){X[i] += temp[i, j] * t[j];}}Xs += X[0];// 外方向元素初始值加上更正数Ys += X[1];Zs += X[2];u += X[3];w += X[4];k += X[5];return maxone(X);// 返回判断条件 , 最大的更正数的值}public void makeSure() // 计算流程控制函数{calcos();calabout();calxx();double VALUE = calAdd();count++;while (VALUE > 0.00001)// 迭代至最大更正数为止{calcos();calabout();calxx();VALUE = calAdd();count++;}}private void MATINV(double [,] c) // 求6阶矩阵的逆{int i, j, h, m;const int n = 6;double l;double [,] q = new double [n, 12];for (i = 0; i < n; i++) // 结构高斯矩阵{for (j = 0; j < n; j++){q[i, j] = c[i, j];}}for (i = 0; i < n; i++) // 单位矩阵{{for (j = n; j < 12; j++)if (i + 6 == j)q[i, j] = 1;elseq[i, j] = 0;}}for (h = 0, m = 0; m < n - 1; m++, h++)// 消去对角线以下的数据{for (i = m + 1; i < n; i++){if(q[i, h] == 0d)continue ;l = q[m, h] / q[i, h];for (j = 0; j < 12; j++){q[i, j] *= l;q[i, j] -= q[m, j];}}}for (h = n - 1, m = n - 1; m > 0; m--, h--)//消去对角线以上的数据{for (i = m - 1; i >= 0; i--){if(q[i, h] == 0d)continue ;l = q[m, h] / q[i, h];for (j = 0; j < 12; j++){q[i, j] *= l;q[i, j] -= q[m, j];}}}for (i = 0; i < n; i++)// 将对角线上数据化为 1{l = 1.0 / q[i, i];for (j = 0; j < 12; j++){q[i, j] *= l;}}for (i = 0; i < n; i++)// 提取逆矩阵{for (j = 0; j < n; j++){c[i, j] = q[i, j + 6];}}}private double maxone(double [] Arr)// 返回六个元素中的最大值{double [] ARR =new double [6];for ( int i = 0; i < 6; i++){ARR[i] = Arr[i];if (ARR[i] < 0d)// 取正ARR[i] = -ARR[i];}Array .Sort(ARR, 0, 6);return ARR[5];}public int COUNT{get{return count;}}public double U {get{return u;}}public double W {get{return w;}}public double K {get{return k;}}public double XS {get{return Xs;}}public double YS {get{return Ys;}}public double ZS {get{return Zs;}}}3、窗体一部分的代码:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Diagnostics;using System.Data.OleDb;using System.IO;namespace 单像空间后方交会{public partial class Form1 : Form {private private double [] data= double f = 0;new double [20];// 主距// 保留表中的数据public Form1(){InitializeComponent();}private void Form1_Load( object sender, EventArgs e) {//TODO: 这行代码将数据加载到表“ database1DataSet1.data ”中。

摄影测量解析基础后方交会前方交会实用教案

摄影测量解析基础后方交会前方交会实用教案

Ys Zs
第第1十9九页页,/共共464页6。页
偏导数(dǎo shù) 1
x X s
f Z
2
( X X s
Z
Z X s
X)
f Z 2 (a1Z a3 X )
1 Z
(a1
f
f
X Z
a3 )
1 Z
a1 f
a3(x
x0 )
第第2二0十页页,/共共464页6。页
x X s
1 Z
a1 f
y
o
x
坐标(zhí jiǎo zuò biāo)系
中。
I y'
在解析摄影测量和数字
摄影测量中,内定向是通
(x1,y1) (x2,y2)
过输入像片主距和量测影 像框标并进行相应的计算 来完成的,其目的就是恢 o 第第4四页页,/共共464页6。页
(x3,y3) (x4,y4)
x'
二、内定向(dìnɡ xiànɡ) 的作业过程
)
H
A
第第1一页页,/共共464页6。页
h2 C
h4
h1 h2 h3
v1 v2 v3
(
X
0 B
(
X
0 B
dXB ) dXB )
(
X
0 C
(
X
0 C
dXC dXC
) )
HA HA
h4 v4
(
X
0 C
dX
C
)
(
X
0 D
dXD )
h5 v5
(X
0 D
dX D
)
H
A
v1 dX B
§5-1 影像(yǐnɡ xiànɡ)内定向

空间后方交会程序

空间后方交会程序

一. 实验目的: 掌握摄影测量空间后方交会的原理,利用计算机编程语言实现空间后方交会外方位元素的解算。

二. 仪器用具及已知数据文件: 计算机windows xp 系统,编程软件(VISUAL C++6.0),地面控制点在摄影测量坐标系中的坐标及其像点坐标文件shuju.txt 。

三. 实验内容:单张影像的空间后方交会:利用已知地面控制点数据及相应像点坐标根据共线方程反求影像的外方位元素。

数学模型:共线条件方程式: )(3)(3)(3)(1)(1)(1Zs Z c Ys Y b Xs X a Zs Z c Ys Y b Xs X a f x -+-+--+-+--= )(3)(3)(3)(2)(2)(2Zs Z c Ys Y b Xs X a Zs Z c Ys Y b Xs X a f y -+-+--+-+--= 求解过程: (1)获取已知数据。

从航摄资料中查取平均航高与摄影机主距;获取控制点的地面测量坐标并转换为地面摄影测量坐标。

(2)量测控制点的像点坐标并做系统改正。

(3)确定未知数的初始值。

在竖直摄影且地面控制点大致分布均匀的情况下,按如下方法确定初始值,即: n X X S ∑=0,n Y Y S ∑=0,n Z mf Z S ∑=0 φ =ω=κ=0 式中;m 为摄影比例尺分母;n 为控制点个数。

(4)用三个角元素的初始值,计算个方向余弦,组成旋转矩阵R 。

(5)逐点计算像点坐标的近似值。

利用未知数的近似值和控制点的地面坐标代入共线方程式,逐点计算像点坐标的近似值(x )、(y )。

(6)逐点计算误差方程式的系数和常数项,组成误差方程式。

(7)计算法方程的系数矩阵A A T 和常数项l A T ,组成法方程式。

(8)解法方程,求得外方位元素的改正数dXs ,S dY ,s dZ ,d φ,d ω,d κ。

(9)用前次迭代取得的近似值,加本次迭代的改正数,计算外方位元素的新值。

摄影测量学复习总结

摄影测量学复习总结

《摄影测量学》基础知识梳理1、摄影测量学的主要任务:①测制各种比例尺的地形图和专题图;②建立地形数据库;③为各种地理信息系统和土地信息系统提供基础数据;2、摄影测量是利用光学摄影机摄影的像片,研究和确定被摄物体的形状、大小、位置、性质和相互关系的一门学科和技术3、摄影测量的优点:①影像记录目标信息客观、逼真、丰富;②测绘作业无需接触目标本身,不受现场条件限制;③可测绘动态目标和复杂形态目标;④影像信息可永久保存、重复量测使用;4、按用途分类:地形摄影测量、非地形摄影测量5、按平台分类:航天/航空/地面/显微/水下+摄影测量6、按影像信息处理的技术手段分类:模拟摄影测量、解析摄影测量、数字摄影测量7、摄影机的两大组成部分:镜箱(物镜)、暗箱8、摄影物镜:相机上由单个凸透镜或凹凸透镜组合(等效透镜)成的精密光学成像系统9、折射平面将空间分为两部分,物体所在的空间称为物方空间,影像所在的空间称为像方空间;两侧与主光轴的交点为物方主点和像方主点10、D 为物距,d 为像距,f 为焦距:fd 11D 1=+11、有效孔径与物镜焦距f 之比的倒数即为光圈号数,光圈号数越小,能通过的光线越多,反之12、摄影时感光材料单位面积上取得的曝光量H 等于照度E 与曝光时间t 的乘积,即H=Et13、景深:指被摄景物中能产生较为清晰影像的最近点至最远点的距离。

光圈号数越大,景深越大;光圈号数越小,景深越小14、快门是控制曝光时间的重要机件,快门从打开到关闭所经历的时间称为曝光时间,或称快门速度15、航空摄影机按摄影机主距的长度可分为短焦距(<150mm )、中焦距(150~300mm )和长焦距(>300mm )摄影机。

航空摄影机的像幅均采用正方形。

短焦距航空摄影机的像幅多为18×18cm ,中焦距的多为23×23cm ,长焦距的多为23×23cm 或30×30cm16、框标:设置在摄影机焦平面(承影面)上位置固定的光学机械标志,用于在焦平面上(像片上)建立 像方坐标系17、量测用摄影机的特征:①像距是一个固定的已知值,几乎等于摄影机物镜的焦距;②承片框上具有框标;③内方位元素是已知的;18、像主点(o ):像片主光轴与像平面的焦点19、摄影机(像片)主距:像主点与物镜后节点之间的距离20、航摄仪的三大主要部件:镜头、框标平面、底片21、摄影比例尺是指航摄设计中的像片比例尺,像片比例尺是由摄影机的主距和摄影的高度来计算的。

单像空间后方交会和双像解析空间后方-前方交会的算法程序实现

单像空间后方交会和双像解析空间后方-前方交会的算法程序实现

单像空间后方交会和双像解析空间后方-前方交会的算法程序实现遥感科学与技术摘要:如果已知每张像片的6个外方位元素,就能确定被摄物体与航摄像片的关系。

因此,利用单像空间后方交会的方法,可以迅速的算出每张像片的6个外方位元素。

而前方交会的计算,可以算出像片上点对应于地面点的三维坐标。

基于这两点,利用计算机强大的运算能力,可以代替人脑快速的完成复杂的计算过程。

关键词:后方交会,前方交会,外方位元素,C++编程0.引言:单张像片空间后方交会是摄影测量基本问题之一,是由若干控制点及其相应像点坐标求解摄站参数(X S,Y S,ZS,ψ、ω、κ)。

单像空间后方交会主要有三种方法:基于共线条件方程的平差解法、角锥法、基于直接线性变换的解法。

而本文将介绍第一种方法,基于共线条件方程反求象片的外方位元素。

而空间前方交会先以单张像片为单位进行空间后方交会,分别求出两张像片的外方位元素,再根据待定点的一对像点坐标,用空间前方交会的方法求解待定点的地面坐标。

可以说,这种求解地面点的坐标的方法是以单张像片空间后方交会为基础的,因此,单张像片空间后方交会成为解决这两个问题以及算法程序实现的关键。

1.单像空间后方交会的算法程序实现:(1)空间后方交会的基本原理:对于遥感影像,如何获取像片的外方位元素,一直是摄影测量工作者探讨的问题,其方法有:利用雷达(Radar)、全球定位系统(GPS)、惯性导航系统(I N S)以及星像摄影机来获取像片的外方位元素;也可以利用一定数量的地面控制点,根据共线方程,反求像片的外方位元素,这种方法称为单像空间后方交会(如图1所示)。

图中,地面坐标X i、Yi、Zi和对应的像点坐标x i、yi是已知的,外方位元素XS、Y S、ZS(摄站点坐标),ψ、ω、κ(像片姿态角)是待求的。

(2)空间后方交会数学模型:空间后方交会的数学模型是共线方程, 即中心投影的构像方程:式中X、Y、Z是地面某点在地面摄影测量坐标系中的坐标,x,y是该地面点在像片上的构像点的像片坐标,对于空间后方交会而言它们是已知的,还有主距f是已知的。

摄影测量考试试题及详细答案

摄影测量考试试题及详细答案

摄影测量考试试题及详细答案1摄影测量学 2航向重叠3单像空间后⽅交会 4相对⾏⾼5像⽚纠正 6解析空中三⾓测量7透视平⾯旋转定律 8外⽅位元素9核⾯ 10绝对定向元素⼀、填空1摄影测量的基本问题,就是将_________转换为__________。

2物体的⾊是随着__________的光谱成分和物体对光谱成分固有不变的________、__________、和__________的能⼒⽽定的。

3⼈眼产⽣天然⽴体视觉的原因是由于_________的存在。

4相对定向完成的标志是__________。

5光束法区域⽹平差时,若像⽚按垂直于航带⽅向编号,则改化法⽅程系数阵带宽为_______,若按平⾏于航带⽅向编号,则带宽为_________。

三、简答题1两种常⽤的相对定向元素系统的特点及相对定向元素。

2倾斜位移的特性。

3单⾏带法相对定向后,为何要进⾏⽐例尺归化?为何进⾏?4独⽴模型法区域⽹平差基本思想。

5何谓正形变换?有何特点?四、论述题1空间后⽅交会的结算步骤。

2有三条航线,每条航线六张像⽚组成⼀个区域,采⽤光束法区域⽹平差。

(1)写出整体平差的误差⽅程式的⼀般式。

(2)将像⽚进⾏合理编号,并计算带宽,内存容量。

(3)请画出改化法⽅程系数阵结构简图。

A卷答案:⼀、1是对研究的对象进⾏摄影,根据所获得的构想信息,从⼏何⽅⾯和物理⽅⾯加以分析研究,从⽽对所摄影的对象本质提供各种资料的⼀门学科。

2供测图⽤的航测相⽚沿飞⾏⽅向上相邻像⽚的重叠。

3知道像⽚的内⽅位元素,以及三个地⾯点坐标和量测出的相应像点的坐标,就可以根据共线⽅程求出六个外⽅位元素的⽅法。

4摄影瞬间航摄飞机相对于某⼀索取基准⾯的⾼度。

5将中⼼投影转换成正射投影时,经过投影变换来消除相⽚倾斜所引起的像点位移,使它相当于⽔平相⽚的构象,并符合所规定的⽐例尺的变换过程。

6是将建⽴的投影光束,单元模型或航带模型以及区域模型的数字模型,根据少数地⾯控制点,按最⼩⼆乘法原理进⾏平差计算,并求加密点地⾯坐标的⽅法。

单像空间后方交会

单像空间后方交会

摄影测量学实习报告遥感07011班吴倩200732590254一、实习目的1.掌握空间后方交会的定义和实现算法(1)定义:空间后方交会是以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,解求该影像在航空摄影时刻的外方位元素Xs,Ys,Zs,φ,ω,κ。

(2)算法:由于每一对像方和物方共轭点可列出2个方程,因此若有3个已知地面坐标的控制点,则可列出6个方程,解求6个外方位元素的改正数△Xs,△Ys,△Zs,△φ,△ω,△κ。

实际应用中为了提高解算精度,常有多余观测方程,通常是在影像的四个角上选取4个或均匀地选择更多的地面控制点,因而要用最小二乘平差方法进行计算。

2.了解摄影测量平差的基本过程(1)获取已知数据。

从摄影资料中查取影像比例尺1/m,平均摄影距离(航空摄影的航高)、内方位元素x0,y0,f;获取控制点的空间坐标Xt,Yt,Zt。

(2)量测控制点的像点坐标并进行必要的影像坐标系统误差改正,得到像点坐标。

(3)确定未知数的初始值。

单像空间后方交会必须给出待定参数的初始值,在竖直航空摄影且地面控制点大体对称分布的情况下,Xs0和Ys0为均值,Zs0为航高,φ、ω、κ的初值都设为0。

或者κ的初值可在航迹图上找出或根据控制点坐标通过坐标正反变换求出。

(4)计算旋转矩阵R。

利用角元素近似值计算方向余弦值,组成R阵。

(5)逐点计算像点坐标的近似值。

利用未知数的近似值按共线条件式计算控制点像点坐标的近似值(x),(y)。

(6)逐点计算误差方程式的系数和常数项,组成误差方程式。

(7)计算法方程的系数矩阵ATA与常数项ATL,组成法方程式。

(8)解求外方位元素。

根据法方程,解求外方位元素改正数,并与相应的近似值求和,得到外方位元素新的近似值。

(9)检查计算是否收敛。

将所求得的外方位元素的改正数与规定的限差比较,通常对φ,ω,κ的改正数△φ,△ω,△κ给予限差,通常为0.1′,当3个改正数均小于0.1′时,迭代结束。

摄影测量学习题简

摄影测量学习题简

摄影测量学习题一、名词解释1、摄影测量学:从非接触式成像和其他传感器系统,通过记录、测量、分析与表达等处理,获取地球及其环境和其他物体可靠信息的工艺、科学与技术。

一个空间点按一定方式在一个平面上的构像,叫做该空间点的投影。

所有投射线或其延长线都通过一个固定点的投影,叫做中心投影。

点的中心投影一般是点(特例)。

线段的中心投影一般是线段(特例)。

相交线段的中心投影一般是相交线段(特例)。

空间一组不与承影面平行的平行直线,其中心投影为一平面线束,线束的顶点是由过投影中心并与空间平行直线相平行的投射线与承影面的交点,称为合点。

平面曲线的中心投影是平面曲线。

空间曲线的中心投影一般是平面曲线(特列)两个平面之间的中心投影变换,称为透视变换在透视变换的情况下,投影中心称为透视中心,像点也称为透视,物点称为投影。

在理想情况下,像点、投影中心、物点位于同一条直线上,我们将以三点共线为基础建立起来的描述物、像关系的数学表达式,称之为共线条件方程式。

倾斜误差:同摄站同主距的倾斜像片和水平像片沿等比线重合时,地面点在倾斜像片上的像点与相应水平像片上像点之间的直线移位。

投影误差:当地面有起伏时,高于或低于所选定的基准面的地面点的像点,与该地面点在基准面上的垂直投影点的像点之间的直线移位。

内定向:将像点在像扫描坐标系下的坐标变换为其在像框标坐标系下坐标的过程。

人用双眼观察景物可判断远近,得到景物的立体效应,这种现象称为人眼的立体视觉当立体模型的垂直比例尺大于水平比例尺时,立体模型比实际地形显得陡峭,这种现象称为立体观察时的超高感。

产生超高感的原因是立体观察仪的主距大于摄影机的主距。

像对的相对方位元素:立体像对中,确定两像空系之间相对方位关系所需的元素。

(五个)像对的绝对方位元素:确定几何模型的比例尺和它在地面坐标系中空间方位的元素。

七个(三角三线一比例)绝对定向:求出模型点在地面坐标系中的绝对位置,即解算立体像对绝对方位元素的工作。

(完整版)摄影测量习题整理

(完整版)摄影测量习题整理

习题——认识摄影测量1、下列关于摄影测量的发展阶段的说法中,不正确的是(B)(A)数字摄影测量处理的原始资料是数字影像或数字化影像(B)数字摄影测量和解析摄影测量使用的投影方式分别是数字投影和物理投影(C)模拟摄影测量和解析摄影测量处理的原始数据都是像片(均为数字投影)(D)数字摄影测量是以计算机视觉代替人的立体观测与识别,完成影像几何与物理信息的自动提取2、下列有关数字地面模型的相关概念的描述中,不正确的是(D)(A)数字地面模型DTM是地理信息系统的基础数据,可用于土地利用现状的分析、合理规划及洪水子险情预报等(B)数字地面模型DTM是地形表面形态等多种信息的一个数字表示(C)数字高程模型DEM只考虑DTM的地形分量,在计算机高级语言中,它就是一个三维数组或数学上的一个三维矩阵(D)与TIN相比,DEM能较好地顾及地貌特征点、线、面,表示复杂地形表面,其缺点是数据量较大,数据结构较复杂(与DEM相比,TIN能较好地顾及地貌特征点线、面,表示复杂地形表面,其缺点是数据量较大,数据结构较复杂。

)3、摄影测量的技术手段不包括(C)A模拟法B.解析法C实地法D数字法4、光学纠正仪是(A)时代的产品,其投影方式属于机械投影。

A模拟摄影测量B解析摄影测量C数字摄影测量D数字投影5、摄影机框架四边中点设有的框标记号,叫做光学框标。

(×)6、现有地图的数字化方法有手扶跟踪数字化和扫描数字化7、随着摄影测量技术的发展,摄影测量经历了(模拟摄影测量阶段)、(解析摄影测量阶段)与(数字摄影测量阶段 )三个发展阶段。

摄影测量的技术手段有(模拟法)、(解析法)、(数字法)。

8、摄影测量的基本问题,就是将中心投影的像片转换为正射投影的地形图9、数字摄影测量数字摄影测量是基于数字影像和摄影测量的基本原理,应用计算机技术、数字影像处理、影像匹配、模式识别等多学科的理论与方法,提取所摄对像以数字方式表达的几何与物理信息的摄影测量学的分支学科。

单张影像空间后方交会程序解读

单张影像空间后方交会程序解读

摄影测量实习报告单张影像空间后方交会程序实习时间 2013.5.20-2013.5.24 学生班级 10 测绘( 1)班学生姓名房新明学生学号 1072143138 所在院系矿业工程学院指导老师张会战邵亚琴.实习目的1.深入理解单张影像空间后方交会的原理,体会在有多余观测情况下,用最小二乘平差方法编程实现解求影像外方位元素的过程。

2.利用Visual C++编写一个完整的单张影像空间后方交会程序,通过对提供的试验数据进行计算,输出像片的外方位元素并进行评定精度。

3.通过编写程序实现单张影像空间后方交会计算,掌握非线性方程线性化的过程、相应数据读入与存储的方法以及迭代计算的特点,巩固各类基础课程及计算机课程的学习内容,培养上机调试程序的动手能力,通过对实验结果的分析,增强综合运用所学知识解决专业实际问题的能力。

4、掌握空间后方交会的定义和实现算法(1)定义:空间后方交会是以单幅影像为基础,从该影像所覆盖地面范围内若干控制点的已知地面坐标和相应点的像坐标量测值出发,根据共线条件方程,解求该影像在航空摄影时刻的外方位元素Xs,Ys,Zs,φ,ω,κ。

(2)算法:由于每一对像方和物方共轭点可列出2 个方程,因此若有3 个已知地面坐标的控制点,则可列出6 个方程,解求6 个外方位元素的改正数△Xs,△Ys,△Zs,△ φ ,△ ω ,△ κ。

实际应用中为了提高解算精度,常有多余观测方程,通常是在影像的四个角上选取4 个或均匀地选择更多的地面控制点,因而要用最小二乘平差方法进行计算。

5、了解空间后方交会的基本过程(1) 获取已知数据。

从摄影资料中查取影像比例尺1/m,平均摄影距离(航空摄影的航高)、内方位元素x0,y0,f;获取控制点的空间坐标Xt ,Yt,Zt(2) 量测控制点的像点坐标并进行必要的影像坐标系统误差改正,得到像点坐标。

(3)确定未知数的初始值。

单像空间后方交会必须给出待定参数的初始值,在竖直航空摄影且地面控制点大体对称分布的情况下,Xs0和Ys0 为均值,Zs0 为航高,φ、ω、κ的初值都设为0。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单像空间后方交会和双像解析空间后方-前方交会的算法程序实现遥感科学与技术摘要:如果已知每张像片的6个外方位元素,就能确定被摄物体与航摄像片的关系。

因此,利用单像空间后方交会的方法,可以迅速的算出每张像片的6个外方位元素。

而前方交会的计算,可以算出像片上点对应于地面点的三维坐标。

基于这两点,利用计算机强大的运算能力,可以代替人脑快速的完成复杂的计算过程。

关键词:后方交会,前方交会,外方位元素,C++编程0.引言:单张像片空间后方交会是摄影测量基本问题之一,是由若干控制点及其相应像点坐标求解摄站参数(X S,Y S,ZS,ψ、ω、κ)。

单像空间后方交会主要有三种方法:基于共线条件方程的平差解法、角锥法、基于直接线性变换的解法。

而本文将介绍第一种方法,基于共线条件方程反求象片的外方位元素。

而空间前方交会先以单张像片为单位进行空间后方交会,分别求出两张像片的外方位元素,再根据待定点的一对像点坐标,用空间前方交会的方法求解待定点的地面坐标。

可以说,这种求解地面点的坐标的方法是以单张像片空间后方交会为基础的,因此,单张像片空间后方交会成为解决这两个问题以及算法程序实现的关键。

1.单像空间后方交会的算法程序实现:(1)空间后方交会的基本原理:对于遥感影像,如何获取像片的外方位元素,一直是摄影测量工作者探讨的问题,其方法有:利用雷达(Radar)、全球定位系统(GPS)、惯性导航系统(I N S)以及星像摄影机来获取像片的外方位元素;也可以利用一定数量的地面控制点,根据共线方程,反求像片的外方位元素,这种方法称为单像空间后方交会(如图1所示)。

图中,地面坐标X i、Yi、Zi和对应的像点坐标x i、yi是已知的,外方位元素XS、Y S、ZS(摄站点坐标),ψ、ω、κ(像片姿态角)是待求的。

(2)空间后方交会数学模型:空间后方交会的数学模型是共线方程, 即中心投影的构像方程:式中X、Y、Z是地面某点在地面摄影测量坐标系中的坐标,x,y是该地面点在像片上的构像点的像片坐标,对于空间后方交会而言它们是已知的,还有主距f是已知的。

而9个方向余弦a 1,a 2,a3;b1,b 2,b 3;c 1,c2,c 3是未知的,具体表达式可以取可见方向余弦是3个独立参数ψ、ω、κ的函数。

共线方程中观测值与未知数之间是非线性函数关系。

为了便于计算机迭代计算, 需把非线性函数表达式用泰勒公式展开成线性形式。

现将共线方程的严密式 ( 1) 按泰勒级数展开取至一次项, 变成线性形式式中,(x)、(y)是函数的近似值;d X S、dY S、d ZS、dψ、dω、dκ是外方位元素的改正数,它们的系数是函数的偏导数。

通过对偏导数解算和推导、整理,得到竖直摄影情况下共线方程的线性化形式,即用共线方程计算外方位元素的实用公式共线方程按泰勒级数展开,取一次小项线性化后,当已知地面点的地面坐标及相应的像点坐标和摄影机主距时,给定外方位元素的近似值后,所有系数均可计算出。

此时,待求的未知数是6个外方位元素,至少需要6个方程。

由于每一对共轭点可列出两个方程,因此,若有3个已知地面坐标控制点,则可列出6个方程,解求6个外方位元素改正数d X S,d YS,d ZS,dψ、dω、dκ。

测量中为了提高精度,常有多余观测方程,应列误差方程式,按最小二乘法原理平差计算。

(3)空间后方交会的计算过程:A.获取已知数据。

B.量测控制点的像点坐标并做系统误差改正。

C.确定未知数的初始值Xs0, Ys0, Zs0, ψ0、ω0、κ0。

D.用三个角元素的初始值计算各方向的余弦值,组成旋转矩阵R。

E.逐点计算像点坐标的近似值。

F.逐点计算误差方程式的系数和常数项,组成误差方程式。

G.计算法方程的系数矩阵和常数项,组成法方程式。

H.解法方程,求得外方位元素的改正数d X S,d YS,d ZS,dψ、dω、dκ。

I.用前次迭代取得的近似值,加本次迭代的改正数,计算外方位元素的新值。

J.将求得的外方位元素的改正数与规定的限差比较,若小于限差,则迭代结束。

否则用新的近似值重复D—I,知道满足要求为止。

(4)空间后方交会的程序框图:(5)单像空间后方交会的算法程序实现:已知条件摄影机主距f=153.24mm,x0=0,y0=0, 像片比例尺为1:40000,有四对点的像点坐标与相应的地面坐标如下表。

点号像点坐标地面坐标x(mm) y(mm) X(m) Y(m) Z(m)1 -86.15 -68.99 36589.41 25273.32 2195.172 -53.40 82.21 37631.08 31324.51 728.693 -14.78 -76.63 39100.97 24934.98 2386.504 10.46 64.43 40426.54 30319.81 757.31以单像空间后方交会方法,求解该像片的外方位元素。

根据(2)、(3)、(4)点设计编辑c++代码并执行,得到该像片的外方位元素如图:2.空间前方交会的算法程序实现:(1)空间前方交会的基本原理:完成了空间后交部分,从而解算出一个像对两张像片各自的外方位元素:X S1,Y S 1,ZS 1,ψ1、ω1、κ1和XS 2,Y S 2,ZS 2,ψ2、ω2、κ2;再根据待定点的一对像点坐标,用空间前方交会方法解求待定点的地面坐标。

(2)空间前方交会数学模型:空间前方交会的计算步骤:由已知的外方位角元素及像点的坐标,根据(a)式计算像空间辅助坐标;⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡f y x R Z Y X 111111,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡f y x R Z Y X 111111(a )由外方位线元素,按(b )式计算摄影基线分量X B ,Y B ,Z B ; ⎪⎭⎪⎬⎫-=-=-=S1S2Z S1S2Y S1S2X Z Z B Y Y B X X B(b )由式1计算投影系数1N ,2N ;⎪⎪⎭⎪⎪⎬⎫--=--=12211121221221Z X Z X X B Z B N Z X Z X X B Z B N Z X Z X (1)由式2计算地面点的地面摄影测量坐标。

⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡222222111222222222111111111Z N Y N X N B B B Z Y X Z N Y N X N Z Y X Z N Y N X N Z Y X Z Y X Z Y X S S S S S S S S S A A A (2) 注意:由于1N 和2N 系由式2中的第一、三两式求出,所以由式2计算地面坐标时A Y 应取平均值,即()()[]22S211S1A Y N Y Y N Y 21Y +++=(3)空间前方交会的计算过程利用解求出的外方位元素进行空间前方交会a.用各自像片的角元素计算出左右像片的旋转矩阵R1和R2。

b.根据左右像片的外方位元素计算摄影基线分量Bx,By,Bz 。

c.逐点计算像点的空间辅助坐标。

d.计算投影系数。

e.计算未知点的地面摄影测量坐标。

f.重复以上步骤完成所有点的地面坐标的计算。

(4)空间前方交会的程序框图空间前方交会利用已求得的线元素Xs1,Ys1,Zs1,p0,,w01,k01;Xs2,Ys2,Zs2,p02,w02,k02,计算基线分量: Bx=Xs2-Xs1; By=Ys2-Ys1; Bz=Zs2-Zs1; 利用已求得的角元素计算2张像片各自的旋转矩阵 输入像片坐标,利用旋转矩阵求解想空间辅助坐标 计算点投影系数: N1=(Bx*Z2-Bz*X2)/(X1*Z2-X2*Z1);N2=(Bx*Z1-Bz*X1)/(X1*Z2-X2*Z1);(5)后方交会-前方交会法的算法程序实现:已知条件:根据(2)、(3)、(4)点设计编辑c++代码并执行,得到改地面点坐标如图: 选取点号为15701、15702、15703.15801计算地面摄影测量坐标 Xt=((N1*X1+Xs1)+(N2*X2+Xs2))/2;Yt=((N1*Y1+Ys1)+(N2*Y2+Ys2))/2;Zt=((N1*Z1+Zs1)+(N2*Z2+Zs2)) /2 ;结束程序3.结论单像空间后方交会和双像解析空间后方-前方交会的算法程序可以代替人脑快速的完成复杂的计算过程,为我们的测量工作节约大量的时间。

如何利用好强大的计算机网络编程技术,仍是摄影测量工作中需要重点关注的问题,也是我们在日常学习中需要多加留意积累观察的问题。

4.心得体会从编写思路及步骤,然后是梳理框架,要用到的子函数,子函数参数,怎么编写,有不懂的东西网上参考资料;这其中,中国知网对我的帮助很大,我在网站上搜索了许多相关的论文及资料,对我的程序的编写以及科技论文的编写有很大的帮助。

再是自己动手编程,发现编程要求很细腻,出不得一点差错,程序编写出来后,有很多的错误,要求逐一进行改正,修改;最后才得以运行。

通过本次实验,我深刻理解了单片空间后方交会以及双像解析空间后方-前方交会原理,进一步熟悉理解了C语言编程,认识到了时间的搭配的重要性和参考资料的必要性,当遇到难题是要迎难而上,达到突破,当完成是能感到一丝丝欣慰和成就感。

5.参考文献[1]《C + + 编程计算像片外方位元素及多个用途》莫志恒方子岩张震《铁道勘察》2008年第4期[2]《空间前方交会法及其在测试技术中的应用》龙华伟《测量与校准》2009年第9期[3]空间前方交会中的系统误差处理付子傲《解放军测绘学院学报》1992年第1期。

相关文档
最新文档