本发明属于天文导航领域,是一种基于偏振成像提取太阳子午线的方法,适用于从天空偏振模式图中提取有效的导航信息。
背景技术:
仿生偏振光导航已成为目前导航技术领域研究的新热点。生物研究发现,昆虫导航是从整个(或部分)具有稳定分布的偏振模式中提取太阳子午线,再判断太阳子午线与体轴的夹角,用以确定航向。由此可知,在仿生天空偏振光导航中,太阳子午线位置信息的获取是偏振光导航应用的关键。
目前,从天空偏振模式图中提取太阳子午线的方法十分有限。田柳等利用大气偏振模式存在对称性分布的规律,通过对称性检测获得大气偏振模式对称轴位置,从而实现导航参考基准太阳子午线方向的获取。任建斌等利用模糊聚类分析的方法对偏振数据进行分析,分别就偏振度和e-矢量方向两组数据进行数据分析,确定类中心,将其作为所求取的太阳位置和太阳子午线位置。
上述两种方法主要针对在晴朗天气下获得的天空偏振模式图做的研究,在非晴朗天气下,前者偏振模式图的对称性很难检测,而后者聚类的对象受到干扰不易获取,两者都有很大的使用局限性,适用范围小。因此,提出一种能适用于从不同天气条件的天空偏振模式图中提取太阳子午线的方法。
技术实现要素:
本发明要解决的技术问题是现有从天空偏振模式图中提取太阳子午线的方法不适用于非晴朗天气,适用范围小。本发明根据天空偏振模式图中太阳子午线上的偏振方位角为90度的特点,利用边缘检测和霍夫变换算法对90度偏振方位角所在直线进行检测识别,从而提取太阳子午线,该方法不易受其他因素干扰,适用于不同天气状况。
本发明的技术方案:
一种基于偏振成像提取太阳子午线的方法,对偏振方位角模式图进行处理,根据太阳子午线方向的偏振方位角为90度的特点,利用边缘检测和霍夫变换原理对偏振模式图中的90度偏振方位角所在直线进行检测,即可得到太阳子午线。具体步骤如下:
步骤一、利用全天空偏振模式测试系统采集数据,并进行处理得到偏振方位角模式图;
步骤二、依据90度偏振方位角所在直线为太阳子午线方向,以及偏振方位角的分布关于子午线逆对称的规律,对偏振方位角模式图进行图像二值化,设置阈值(90-a,90+a),a在1~6之间取值,偏振方位角在(90-a,90+a)区间的设置为黑色,其余值设置为白色,由此得到二值化图像;
步骤三、利用canny算子采用双阈值法对二值化图像进行边缘检测,再利用霍夫变换识别二值化图像中的90度偏振方位角所在的直线:
1)将二值化图像的x-y直角坐标系中的直线上的每个点(x,y)转化为ρ-θ极坐标系内相应的曲线,转化关系如下:
ρ=xcosθ+ysinθ,(ρ≥0,0≤θ≤2π)(1)
其中,ρ为直角坐标系中的直线与坐标原点的距离,θ为直线的倾斜角度;
同一条直线上的点对应的曲线相交于一点,极坐标系内每一个交点都对应着原直角坐标系的一条直线;如附图中图1所示,三条曲线相交的交点所表示的ρ和θ即为原直角坐标系中三个点所在的直线位置;
2)检测极坐标系中的峰值点:峰值点为经过最多次数的曲线相交得到的交点;
3)直线连接:将中间有断开的直线线段连接成完整的长直线段,即可得到太阳子午线;
步骤四、确定太阳子午线位置:在极坐标系中可以确定峰值点的坐标(ρ1,θ1)、(ρ2,θ2)、…、(ρk,θk),峰值点被检测的次数累加为n1,n2,…,nk,则太阳子午线的位置为
θ=(n1*θ1+n2*θ2+…+nk*θk)/(n1+n2+…+nk)(2)。
本发明的有益效果:利用canny算子进行边界检测和霍夫变换算法对90度偏振方位角所在直线进行识别,从而提取出太阳子午线,得到子午线位置参数θ,其误差角度在2度以下,图像式偏振成像与canny算子边界检测和霍夫变换算法的结合适用于不同天气下的太阳子午线的提取,满足利用偏振模式仿生导航的需要。
附图说明
图1为霍夫变换检测原理图。
图2为测试偏振方位角模式图。
图3为太阳子午线提取流程图。
图4(a)为二值化图像;图4(b)为极坐标系图。
图5为直线检测结果图。
具体实施方式
以下结合附图和技术方案,进一步说明本发明的具体实施方式:
一种基于偏振成像提取太阳子午线的方法,具体步骤如下:
步骤一、利用全天空偏振模式测试系统采集数据,并进行处理得到偏振方位角模式图;
步骤二、如图3所示,设置偏振方位角选取范围(90-a,90+a),其中a取2,则偏振方位角的选取范围是(88,92),将如图2所示的测试偏振方位角模式图导入程序,得到如图4(a)所示的二值化图像,其中黑色区域即为检测到的(88,92)偏振方位角区域,此区域关于90度偏振方位角对称。
步骤三、利用canny算子对图4(a)进行边缘检测做预处理,再利用霍夫变换原理对此二值化图像的90度偏振方位角所在直线进行检测识别:首先将二值化图像从x-y直角坐标系转化为ρ-θ极坐标系,再对图像进行峰值点检测,检测出密集的交点,得到如图4(b)所示的极坐标系图像,图中的亮点即为峰值点的位置;最后,由极坐标系的亮点返回原来直角坐标系的边界直线,如图5所示的直线即为边界直线。
步骤四、确定太阳子午线位置:由极坐标图可知亮点的坐标为θ1=67°,θ2=64°,被检测的次数分别为1335,1313,代入公式(2)中,即可得到子午线的位置信息θ=(1335*67°+1313*64°)/(1335+1313)=65.512°。