发明名称 基于视频中太阳影子轨迹的经纬度估计方法
摘要 本发明属于图像处理和地理信息系统技术领域,涉及一种基于视频中太阳影子轨迹的经纬度估计方法:先获取自然图像序列或者视频帧,并且对每一帧图像检测出影子的轨迹点;然后确定多个灭点,并拟合出地平线;拟合互相垂直的灭点,计算出仿射纠正和投影纠正矩阵;进而还原出经过度量纠正的世界坐标;再拟合出经过度量纠正世界坐标中的影子点的轨迹,并且参考日晷设计,利用相似关系估计出纬度;利用二次曲线的极值点计算时差,从而有效地恢复出所拍摄图像的经纬度信息。本发明复杂度较低,精度较高,是一种利用自然图像序列或视频帧实现经纬度估计的方法,能够根据未经过校准的影子的位置,得出所拍摄图像的经纬度信息。
申请公布号 CN101493322A 申请公布日期 2009.07.29
申请号 CN200910067817.X 申请日期 2009.02.04
申请人 天津大学 发明人 操晓春;曲彦龄;孙济洲;武琳;郭晓杰;张炜
分类号 G01C1/00(2006.01)I 主分类号 G01C1/00(2006.01)I
代理机构 天津市北洋有限责任专利代理事务所 代理人 江镇华
主权项 1.一种基于视频中太阳影子轨迹的经纬度估计方法,包括下列步骤:(1)获取同一场景中含有至少两个影子轨迹的自然图像序列或视频帧;(2)对每一帧图像,检测影子轨迹;(3)同一个影子轨迹里不同的两个点的所确定的直线与对应时刻另一个影子轨迹中的两个点所确定的直线的交点即是一个灭点,计算灭点;(4)由各个灭点拟合出地平线;(5)在图像中沿着有垂直关系的物体画出两条直线,计算出这两条直线分别与地平线的交点坐标,这两个坐标就是两个互相垂直的灭点v<sub>x</sub>,v<sub>y</sub>坐标;(6)根据公式<maths num="0001"><![CDATA[<math><mrow><mi>f</mi><mo>=</mo><msqrt><mfrac><mrow><msub><mi>v</mi><mn>0</mn></msub><msub><mi>v</mi><msub><mi>x</mi><mn>3</mn></msub></msub><msub><mi>v</mi><msub><mi>y</mi><mn>2</mn></msub></msub><mo>+</mo><msub><mi>u</mi><mn>0</mn></msub><msub><mi>v</mi><msub><mi>x</mi><mn>1</mn></msub></msub><msub><mi>v</mi><msub><mi>y</mi><mn>3</mn></msub></msub><msub><mrow><mo>+</mo><mi>v</mi></mrow><mn>0</mn></msub><msub><mi>v</mi><msub><mi>x</mi><mn>2</mn></msub></msub><msub><mi>v</mi><msub><mi>y</mi><mn>3</mn></msub></msub><mo>+</mo><msub><mi>u</mi><mn>0</mn></msub><msub><mi>v</mi><msub><mi>x</mi><mn>3</mn></msub></msub><msub><mi>v</mi><msub><mi>y</mi><mn>1</mn></msub></msub><mo>-</mo><msub><mi>v</mi><msub><mi>x</mi><mn>1</mn></msub></msub><msub><mi>v</mi><msub><mi>y</mi><mn>1</mn></msub></msub><mo>-</mo><msub><mi>v</mi><msub><mi>x</mi><mn>2</mn></msub></msub><msub><mi>v</mi><msub><mi>y</mi><mn>2</mn></msub></msub></mrow><mrow><msub><mi>v</mi><msub><mi>x</mi><mn>3</mn></msub></msub><msub><mi>v</mi><msub><mi>y</mi><mn>3</mn></msub></msub></mrow></mfrac><mo>-</mo><msubsup><mi>u</mi><mn>0</mn><mn>2</mn></msubsup><msubsup><mrow><mo>-</mo><mi>v</mi></mrow><mn>0</mn><mn>2</mn></msubsup></msqrt></mrow></math>]]></maths>计算焦距f,式中,u<sub>0</sub>,v<sub>0</sub>为相机主点即图像中心点的坐标,根据公式<maths num="0002"><![CDATA[<math><mrow><mi>&omega;</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>-</mo><msub><mi>u</mi><mn>0</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mo>-</mo><msub><mi>v</mi><mn>0</mn></msub></mtd></mtr><mtr><mtd><mo>-</mo><msub><mi>u</mi><mn>0</mn></msub></mtd><mtd><mo>-</mo><msub><mi>v</mi><mn>0</mn></msub></mtd><mtd><msubsup><mi>u</mi><mn>0</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>v</mi><mn>0</mn><mn>2</mn></msubsup><mo>+</mo><msup><mi>f</mi><mn>2</mn></msup></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>计算ω;(7)在地平线上找到另一对满足<maths num="0003"><![CDATA[<math><mrow><msubsup><mi>v</mi><mi>x</mi><mi>T</mi></msubsup><mi>&omega;</mi><msub><mi>v</mi><mi>y</mi></msub><mo>=</mo><mn>0</mn></mrow></math>]]></maths>限制的点v<sub>p</sub>,v<sub>vertical</sub>;(8)按照下列方法实现从图像到经过度量纠正的世界坐标的转换:1)任意取两个点M,N,直线v<sub>x</sub>M,v<sub>y</sub>M,v<sub>p</sub>N,v<sub>vertical</sub>N的斜率分别记做:k<sub>1</sub>,k<sub>2</sub>,k<sub>3</sub>,k<sub>4</sub>。2)以<img file="A2009100678170002C4.GIF" wi="263" he="140" />为半径,以<img file="A2009100678170002C5.GIF" wi="754" he="108" />为圆心得到一个圆<maths num="0004"><![CDATA[<math><mrow><msup><mrow><mo>(</mo><mi>&alpha;</mi><mo>-</mo><msub><mi>c</mi><mrow><mi>&alpha;</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>&beta;</mi><mo>-</mo><msub><mi>c</mi><mrow><mi>&beta;</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>=</mo><msubsup><mi>r</mi><mn>1</mn><mn>2</mn></msubsup><mo>,</mo></mrow></math>]]></maths>其中<img file="A2009100678170002C7.GIF" wi="37" he="39" />为直线v<sub>x</sub>M,v<sub>y</sub>M的夹角;3)以<img file="A2009100678170002C8.GIF" wi="273" he="139" />为半径,以<img file="A2009100678170002C9.GIF" wi="782" he="107" />为圆心得到另一个圆<maths num="0005"><![CDATA[<math><mrow><msup><mrow><mo>(</mo><mi>&alpha;</mi><mo>-</mo><msub><mi>c</mi><mrow><mi>&alpha;</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>&beta;</mi><mo>-</mo><msub><mi>c</mi><mrow><mi>&beta;</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>=</mo><msubsup><mi>r</mi><mn>2</mn><mn>2</mn></msubsup><mo>,</mo></mrow></math>]]></maths>其中<img file="A2009100678170002C11.GIF" wi="43" he="39" />为直线v<sub>p</sub>N,v<sub>vertical</sub>N的夹角;4)计算上述两个圆的交点α,β。5)计算H=AP,其中,<maths num="0006"><![CDATA[<math><mrow><mi>P</mi><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><msub><mi>l</mi><mn>1</mn></msub></mtd><mtd><msub><mi>l</mi><mn>2</mn></msub></mtd><mtd><msub><mi>l</mi><mn>3</mn></msub></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>(l<sub>1</sub>,l<sub>2</sub>,l<sub>3</sub>是地平线L<sub>∞</sub>的三个分量),<maths num="0007"><![CDATA[<math><mrow><mi>A</mi><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><mfrac><mn>1</mn><mi>&beta;</mi></mfrac></mtd><mtd><mo>-</mo><mfrac><mi>&alpha;</mi><mi>&beta;</mi></mfrac></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>.</mo></mrow></math>]]></maths>(9)根据公式X=Hx还原出经过度量纠正的世界坐标,其中X是经过度量纠正的世界坐标中的点,x是图像坐标中的点;(10)拟合影子轨迹;(11)基于日晷原理,计算纬度φ;(12)按照下列方法计算经度:以太阳时间12点所对应的视频帧为中心,在步骤(10)所拟合的影子轨迹上寻找到极值点,并且记录下该点所对应的时刻t,通过以下公式来计算时间差值T:T=|t-12|+t<sub>eot</sub>-t<sub>dst</sub>,其中,t<sub>eot</sub>是时差,t<sub>dst</sub>是夏令时,如果t大于12点,那么经度L为:L=L<sub>meridian</sub>-T/4,如果如果t小于12点,那么经度L为:L=L<sub>meridian</sub>+T/4,其中,L<sub>meridian</sub>是该时区中央经线。
地址 300072天津市南开区卫津路92号天津大学