发明名称 基于空间直角关系的建筑物单影像三维测量方法
摘要 本发明公开了一种基于空间直角关系的建筑物单影像三维测量方法,其步骤如下:拍摄建筑物的数码照片;摄影时要求摄取到建筑物的一个房角点,以及由该房角点出发的三条互相垂直的完整墙角线;三条墙角线中的两条为水平线、一条为垂直线;除房角点以外,三条墙角线各存在一个端点,三个端点称为像控点;在数码照片上测量房角点和三个像控点的图像坐标;将房角点和像控点的图像坐标转换成像平面坐标;建立建筑物的物方坐标系;根据建筑物的已测知边长墙角线的边长确定其对应像控点的物方坐标;估算其余墙角线边长,确定其对应像控点的估算物方坐标;根据像控点的物方坐标、估算物方坐标和像平面坐标,计算未知点物方坐标值以及摄影位置和摄影焦距。
申请公布号 CN100580371C 申请公布日期 2010.01.13
申请号 CN200810098911.7 申请日期 2008.05.16
申请人 南京师范大学 发明人 闾国年;沙月进;刘学军
分类号 G01C11/04(2006.01)I;G01B11/00(2006.01)I 主分类号 G01C11/04(2006.01)I
代理机构 南京知识律师事务所 代理人 程化铭
主权项 1、一种基于空间直角关系的建筑物单影像三维测量方法,其步骤如下:第一步:拍摄建筑物的数码照片;摄影时要求摄取到建筑物的一个房角点,以及由该房角点出发的三条互相垂直的完整墙角线;三条墙角线中的两条为水平线、一条为垂直线;除房角点以外,三条墙角线各存在一个端点,三个端点称为像控点;第二步:在数码照片上测量房角点和三个像控点的图像坐标(u,v);图像坐标系C0-uv是以数码照片的左上角为原点、水平向右方向为X轴正方向、垂直向下方向为Y轴正方向;第三步:将房角点和像控点的图像坐标(u,v)转换成以数码照片中心为原点的右手系像平面坐标系C1-xy坐标(x,y),转换关系如下:<maths id="math0001" num="0001" ><math><![CDATA[ <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mi>x</mi> <mo>=</mo> <mi>u</mi> <mo>-</mo> <mfrac> <mi>width</mi> <mn>2</mn> </mfrac> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> <mo>=</mo> <mfrac> <mi>heigth</mi> <mn>2</mn> </mfrac> <mo>-</mo> <mi>v</mi> </mtd> </mtr> </mtable> </mfenced>]]></math></maths>式中:(u,v)——图像坐标系C0-uv坐标,单位为像素;(x,y)——像平面坐标系C1-xy坐标,单位为像素;width——数码照片的宽度,单位为像素;heigth——数码照片的高度,单位为像素;第四步:以空间直角关系建立建筑物的物方坐标系,物方坐标系的原点为房角点,三个坐标轴分别对应于由房角点和三个像控点确定的三条墙角线;第五步:根据建筑物的已测知边长墙角线的边长确定其对应像控点的物方坐标;估算其余墙角线边长,确定其对应像控点的估算物方坐标;第六步:根据像控点的物方坐标、估算物方坐标和像平面坐标,计算未知点物方坐标值以及摄影位置和数码照片的摄影焦距,其中摄影位置是指摄影瞬间物镜中心在物方坐标系中的坐标;根据三像控点中已知条件不同,计算未知点物方坐标值以及摄影位置和数码照片的摄影焦距分为两种计算模式:“二推一”模式和“一推二”模式;具体计算如下:S是摄影中心位置,数码照片上任意两个点i、j对应于空间目标的像控点I、J点;i、j点与S点构成的夹角的余弦值为:<maths id="math0002" num="0002" ><math><![CDATA[ <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <mi>iSj</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mi>i</mi> </msub> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>+</mo> <msub> <mi>y</mi> <mi>i</mi> </msub> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>+</mo> <msup> <mi>f</mi> <mn>2</mn> </msup> </mrow> <mrow> <mi>Si</mi> <mo>&CenterDot;</mo> <mi>Sj</mi> </mrow> </mfrac> <mo>=</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mi>i</mi> </msub> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>+</mo> <msub> <mi>y</mi> <mi>i</mi> </msub> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>+</mo> <msup> <mi>f</mi> <mn>2</mn> </msup> </mrow> <mrow> <msqrt> <msubsup> <mi>x</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msup> <mi>f</mi> <mn>2</mn> </msup> </msqrt> <msqrt> <msubsup> <mi>x</mi> <mi>j</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msubsup> <mi>y</mi> <mi>j</mi> <mn>2</mn> </msubsup> <mo>+</mo> <msup> <mi>f</mi> <mn>2</mn> </msup> </msqrt> </mrow> </mfrac> </mrow>]]></math></maths>其中:(xi,yi)——像点i的像平面坐标;(xj,yj)——像点j的像平面坐标;f——焦距;同样,由像控点I、J与S点构成的夹角余弦值为:<maths id="math0003" num="0003" ><math><![CDATA[ <mrow> <mi>cos</mi> <mrow> <mo>(</mo> <mi>ISJ</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>S</mi> </msub> <mo>-</mo> <msub> <mi>X</mi> <mi>I</mi> </msub> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>S</mi> </msub> <mo>-</mo> <msub> <mi>X</mi> <mi>J</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mrow> <mo>(</mo> <msub> <mi>Y</mi> <mi>S</mi> </msub> <mo>-</mo> <msub> <mi>Y</mi> <mi>I</mi> </msub> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msub> <mi>Y</mi> <mi>S</mi> </msub> <mo>-</mo> <msub> <mi>Y</mi> <mi>J</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mrow> <mo>(</mo> <msub> <mi>Z</mi> <mi>S</mi> </msub> <mo>-</mo> <msub> <mi>Z</mi> <mi>I</mi> </msub> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msub> <mi>Z</mi> <mi>S</mi> </msub> <mo>-</mo> <msub> <mi>Z</mi> <mi>J</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mi>SI</mi> <mo>&CenterDot;</mo> <mi>SJ</mi> </mrow> </mfrac> </mrow>]]></math></maths>其中:(XS,YS,ZS)——S的物方坐标;(XI,YI,ZI)——像控点I的物方坐标;(XJ,YJ,ZJ)——像控点J的物方坐标;SI2=(XS-XI)2+(YS-YI)2+(ZS-ZI)2SJ2=(XS-XJ)2+(YS-YJ)2+(ZS-ZJ)2建立方程式:F=cos(ISJ)-cos(iSj)=0任意两个像控点之间、房角点与像控点之间均建立一个上述的方程式,四个点之间可以建立六个方程式;“二推一”模式:如果已知像控点A、B物方坐标,像控点C物方坐标(0,0,ZC)未知,则存在XS、YS、ZS、f、ZC五个未知数,误差方程式通式为:<maths id="math0004" num="0004" ><math><![CDATA[ <mrow> <mi>v</mi> <mo>=</mo> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>F</mi> </mrow> <mrow> <mo>&PartialD;</mo> <msub> <mi>X</mi> <mi>S</mi> </msub> </mrow> </mfrac> <mo>&CenterDot;</mo> <mi>&Delta;</mi> <msub> <mi>X</mi> <mi>S</mi> </msub> <mo>+</mo> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>F</mi> </mrow> <mrow> <mo>&PartialD;</mo> <msub> <mi>Y</mi> <mi>S</mi> </msub> </mrow> </mfrac> <mo>&CenterDot;</mo> <mi>&Delta;</mi> <msub> <mi>Y</mi> <mi>S</mi> </msub> <mo>+</mo> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>F</mi> </mrow> <mrow> <mo>&PartialD;</mo> <msub> <mi>Z</mi> <mi>S</mi> </msub> </mrow> </mfrac> <mo>&CenterDot;</mo> <mi>&Delta;</mi> <msub> <mi>Z</mi> <mi>S</mi> </msub> <mo>+</mo> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>F</mi> </mrow> <mrow> <mo>&PartialD;</mo> <mi>f</mi> </mrow> </mfrac> <mo>&CenterDot;</mo> <mi>&Delta;f</mi> <mo>+</mo> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>F</mi> </mrow> <mrow> <mo>&PartialD;</mo> <msub> <mi>Z</mi> <mi>C</mi> </msub> </mrow> </mfrac> <mo>&CenterDot;</mo> <mi>&Delta;</mi> <msub> <mi>Z</mi> <mi>C</mi> </msub> <mo>-</mo> <mi>l</mi> </mrow>]]></math></maths>用矩阵表示为:<maths id="math0005" num="0005" ><math><![CDATA[ <mrow> <munder> <mi>V</mi> <mrow> <mn>6</mn> <mo>&times;</mo> <mn>1</mn> </mrow> </munder> <mo>=</mo> <munder> <mi>B</mi> <mrow> <mn>6</mn> <mo>&times;</mo> <mn>5</mn> </mrow> </munder> <munder> <mi>X</mi> <mrow> <mn>5</mn> <mo>&times;</mo> <mn>1</mn> </mrow> </munder> <mo>-</mo> <munder> <mi>L</mi> <mrow> <mn>6</mn> <mo>&times;</mo> <mn>1</mn> </mrow> </munder> </mrow>]]></math></maths>“一推二”模式:如果已知像控点A物方坐标,像控点B、C物方坐标(0,YB,0)、(0,0,ZC)未知,则存在XS、YS、ZS、f、YB、ZC六个未知数,误差方式通式为:<maths id="math0006" num="0006" ><math><![CDATA[ <mrow> <mi>v</mi> <mo>=</mo> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>F</mi> </mrow> <mrow> <mo>&PartialD;</mo> <msub> <mi>X</mi> <mi>S</mi> </msub> </mrow> </mfrac> <mo>&CenterDot;</mo> <mi>&Delta;</mi> <msub> <mi>X</mi> <mi>S</mi> </msub> <mo>+</mo> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>F</mi> </mrow> <mrow> <mo>&PartialD;</mo> <msub> <mi>Y</mi> <mi>S</mi> </msub> </mrow> </mfrac> <mo>&CenterDot;</mo> <mi>&Delta;</mi> <msub> <mi>Y</mi> <mi>S</mi> </msub> <mo>+</mo> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>F</mi> </mrow> <mrow> <mo>&PartialD;</mo> <msub> <mi>Z</mi> <mi>S</mi> </msub> </mrow> </mfrac> <mo>&CenterDot;</mo> <mi>&Delta;</mi> <msub> <mi>Z</mi> <mi>S</mi> </msub> <mo>+</mo> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>F</mi> </mrow> <mrow> <mo>&PartialD;</mo> <mi>f</mi> </mrow> </mfrac> <mo>&CenterDot;</mo> <mi>&Delta;f</mi> <mo>+</mo> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>F</mi> </mrow> <mrow> <mo>&PartialD;</mo> <msub> <mi>Y</mi> <mi>B</mi> </msub> </mrow> </mfrac> <mo>&CenterDot;</mo> <mi>&Delta;</mi> <msub> <mi>Y</mi> <mi>B</mi> </msub> <mo>+</mo> <mfrac> <mrow> <mo>&PartialD;</mo> <mi>F</mi> </mrow> <mrow> <mo>&PartialD;</mo> <msub> <mi>Z</mi> <mi>C</mi> </msub> </mrow> </mfrac> <mo>&CenterDot;</mo> <mi>&Delta;</mi> <msub> <mi>Z</mi> <mi>C</mi> </msub> <mo>-</mo> <mi>l</mi> </mrow>]]></math></maths>用矩阵表示为:<maths id="math0007" num="0007" ><math><![CDATA[ <mrow> <munder> <mi>V</mi> <mrow> <mn>6</mn> <mo>&times;</mo> <mn>1</mn> </mrow> </munder> <mo>=</mo> <munder> <mi>B</mi> <mrow> <mn>6</mn> <mo>&times;</mo> <mn>6</mn> </mrow> </munder> <munder> <mi>X</mi> <mrow> <mn>6</mn> <mo>&times;</mo> <mn>1</mn> </mrow> </munder> <mo>-</mo> <munder> <mi>L</mi> <mrow> <mn>6</mn> <mo>&times;</mo> <mn>1</mn> </mrow> </munder> </mrow>]]></math></maths>常数项均为:l=cos(iSj)-cos(ISJ)其中:i、j=o、a、b、c,i≠j;I、J为与i、j相对应的O、A、B、C,I≠J;用间接平差的方法解方程计算出摄影位置、物镜焦距和未知点的物方坐标。
地址 210046江苏省南京市栖霞区仙林新城文苑路1号