專利名稱:一種基于cmos導(dǎo)航相機(jī)的太陽定位方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種太陽定位方法。
背景技術(shù):
傳統(tǒng)的太陽定位裝置是專用的太陽敏感器,包括基于太陽電池的編碼、模擬太陽敏感器,近幾年又出現(xiàn)了基于掩模孔的APS太陽敏感器,以上裝置的特點(diǎn)是利用小光闌(狹縫、掩???減弱太陽能力,根據(jù)光電進(jìn)行探測。光電效應(yīng)的太陽跟蹤定位技術(shù)按照識別太陽位置的方法分為狹縫成像、質(zhì)心求解以及四象限偏差。狹縫成像的方法主要應(yīng)用于太陽敏感器中,通過太陽光線射過狹縫的夾角求出太陽方位。質(zhì)心求解的方法主要是通過辨識出太陽光斑范圍的質(zhì)心來獲取太陽的方位。四象限偏差的方法是利用太陽光斑在四個(gè)象限產(chǎn)生的不同光電流信號差驅(qū)動光敏面 與太陽對準(zhǔn),但該方法得不出太陽的方位。這三種方法都是以整個(gè)太陽光斑為辨識單位,辨識精度低,加之太陽影像為非標(biāo)準(zhǔn)圓且受雜光影響很大,以上三種方法僅僅將太陽建模為一個(gè)近似圓形亮斑,計(jì)算誤差會很大。另外,太陽跟蹤定位技術(shù)廣泛應(yīng)用太陽能電池板發(fā)電、大氣監(jiān)測等地面民用領(lǐng)域,主要方式為天文計(jì)算,即嚴(yán)格按照相關(guān)天文計(jì)算公式編寫,在研究太陽能利用所涉及到的日地距離、積日、太陽赤緯角、太陽時(shí)角、時(shí)差、年度訂正、經(jīng)度訂正、時(shí)刻訂正等概念和計(jì)算方法后,得出復(fù)雜的計(jì)算程序。此方法完全擺脫感知太陽,單純依靠經(jīng)驗(yàn)公式,計(jì)算復(fù)雜精度低。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題是克服現(xiàn)有技術(shù)的不足,提供了一種基于CMOS導(dǎo)航相機(jī)的太陽定位方法,利用CMOS光電探測器自身的強(qiáng)光成像效應(yīng)太陽圖像的中心為黑點(diǎn)的方法,辨識出太陽中心黑暗部分,解決了現(xiàn)有方法定位過程中太陽亮斑易受大氣、雜光和太陽活動干擾影響定位精度低的問題,提高太陽定位的精度。本發(fā)明的技術(shù)解決方案是一種基于CMOS導(dǎo)航相機(jī)的太陽定位方法,步驟如下(I)采用CMOS導(dǎo)航相機(jī)獲取一幅包括太陽在內(nèi)的圖像;(2)對步驟⑴獲得的圖像進(jìn)行二值化處理,將圖像中太陽所在范圍內(nèi)所有像素點(diǎn)的最低灰度值作為閾值,并將圖像中灰度值小于閾值的像素點(diǎn)的像素值設(shè)為0,將圖像中灰度值不小于閾值的像素點(diǎn)的像素值設(shè)為I;(3)在二值圖像上,設(shè)置太陽半徑所包括的像素個(gè)數(shù)R ;(4)在二值圖像上,設(shè)置黑太陽直徑所包括的像素個(gè)數(shù)d,以d為步長從二值圖像首行起始位置開始逐行查找黑太陽像素點(diǎn),查找條件為像素值為O且從該像素點(diǎn)所在位置沿其所在行向左或者向右移動步長d后對應(yīng)的像素點(diǎn)的像素值為1,設(shè)滿足查找條件的黑太陽像素點(diǎn)位于第i行第j+d列,每次找到一個(gè)黑太陽像素點(diǎn)后即停止查找進(jìn)入下一步;如果遍歷完二值圖像后仍未查找到滿足條件的黑太陽像素點(diǎn),則返回步驟(3)改變R值后重新執(zhí)行本步驟;(5)對于查找到的黑太陽像素點(diǎn),計(jì)算其上下左右各d個(gè)像素點(diǎn)共4d個(gè)像素點(diǎn)中像素值為O的像素點(diǎn)的個(gè)數(shù),如果計(jì)算結(jié)果位于閾值區(qū)間(d,2d-l),則進(jìn)入下一步;否則返回步驟(4)從上一次的查找結(jié)束位置繼續(xù)查找;(6)將黑太陽像素點(diǎn)及其周圍像素值為O的區(qū)域視為一個(gè)圓形,求出其圓心,以圓心為中心,分別構(gòu)建邊長為d和力R的兩個(gè)正方形,計(jì)算邊長為d的正方形中包含的像素值為O的像素點(diǎn)個(gè)數(shù)Hl以及邊長為R的正方形中包含的像素值為I的像素點(diǎn)個(gè)數(shù)H2,如
果^且//2之則圓心即為太陽的中心;否則返回步驟(4) 444
從上一次的查找結(jié)束位置繼續(xù)查找;其中Λ和ε為誤差調(diào)整系數(shù)。所述步驟(6)中求取圓心的方法為從像素點(diǎn)(i,j+d)所在位置開始,向上下左右 四個(gè)方向開始查找像素值為I的四個(gè)點(diǎn),上、下兩個(gè)點(diǎn)的縱坐標(biāo)均值以及左、右兩個(gè)點(diǎn)的橫坐標(biāo)均值分別作為圓心的橫坐標(biāo)和縱坐標(biāo)。本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于I)普通跟蹤和定位方法是以整個(gè)太陽為辨識目標(biāo),由于目標(biāo)視場范圍較大,導(dǎo)致定位時(shí)的精度較低,且定位速度較慢;而本發(fā)明方法通過CMOS的特殊成像功能將太陽中心的可能范圍縮小在一個(gè)很小的“黑太陽”區(qū)域內(nèi),相當(dāng)于縮小了視線夾角,因此方法簡單,定位精度高;2)由于大氣散射,云層反射等會導(dǎo)致太陽非圓形化,造成極大的識別困難。在此情況下,通過調(diào)整曝光時(shí)間獲得的不同太陽影像中,如果繼續(xù)采用現(xiàn)有方法則太陽中心位置變化明顯,太陽定位的誤差明顯較大;采用本發(fā)明方法,由于選取太陽中心的黑太陽作為識別對應(yīng),而黑太陽不受外界環(huán)境干擾,因此其中心位置幾乎不變,據(jù)此進(jìn)行太陽定位可以克服干擾,獲得更聞的定位精度;3)當(dāng)太陽影像不完全在視場之內(nèi)時(shí),采用現(xiàn)有方法則會完全失效,無法完成太陽定位。本發(fā)明方法為此重新定義圖像,它比原圖像矩陣長寬各多2R(R為太陽半徑)。此圖像的中間像素值等于原圖像的像素值,周圍四個(gè)寬度為R的邊設(shè)為太陽光斑的亮度(大于250灰度值即可),相當(dāng)于將太陽沒有成像的部分引入,由此可以保持太陽圖像的完整,從而能夠正常識別。
圖I為本發(fā)明方法的流程圖;圖2為本發(fā)明預(yù)估黑太陽位置示意圖;圖3為本發(fā)明黑太陽粗面積閾值范圍示意圖;圖4為本發(fā)明確定黑暗部分中心不意圖;圖5為本發(fā)明精判黑太陽面積和判定太陽面積示意圖。
具體實(shí)施例方式我國首個(gè)月面巡視器的太陽定位方法以APS太陽敏感器為主,但考慮到月塵影響、雜光影響、車體遮擋影響等,仍需要考慮其他光學(xué)敏感器是否具有太陽定位能力。導(dǎo)航相機(jī)位于桅桿之上可以實(shí)現(xiàn)大范圍俯仰、偏航運(yùn)動,在室外實(shí)驗(yàn)中可以實(shí)現(xiàn)對太陽成像,根據(jù)CMOS光電探測器自身的強(qiáng)光成像效應(yīng)太陽圖像的中心為黑點(diǎn)(在文獻(xiàn)中稱為“BlackSun Effect”),基于這一特點(diǎn)本發(fā)明提出了一種基于CMOS導(dǎo)航相機(jī)的太陽定位方法,使得導(dǎo)航相機(jī)既具有月面圖像拍攝能力又具有太陽定向能力。太陽中心的投影接受到的太陽照射最多,而邊緣相比則較少。CMOS敏感器(如CMV4000)具有一種特性一黑太陽現(xiàn)象,在光照及其強(qiáng)烈的情況下不是呈現(xiàn)高灰度,而是表現(xiàn)出低灰度。如果對準(zhǔn)太陽則會產(chǎn)生太陽中心暗,太陽邊緣亮的奇異現(xiàn)象。這是由于太陽中心比太陽的邊緣部分亮度要高,使得中心點(diǎn)曝光曲線斜率較大,在較短時(shí)間內(nèi)達(dá)到飽和,而在接近飽和時(shí)又采集了復(fù)位電壓,最后采集的曝光電壓也是飽和電壓,導(dǎo)致雙采樣也就是兩者之差大大降低,呈現(xiàn)低灰度。
如圖I所示,為本發(fā)明方法的流程圖,主要步驟如下I)圖像預(yù)處理。為降低程序復(fù)雜度,將圖像二值化且以太陽目標(biāo)的最低灰度值作為閾值將太陽與其他背景區(qū)分開來。具體可將低于閾值的背景像素值設(shè)為0,太陽光斑像素值設(shè)為I ;2)設(shè)置太陽半徑由于曝光時(shí)間、日機(jī)距離(太陽離敏感器距離)等因素影響,太陽在圖像上的影像大小會有所不同。本發(fā)明從太陽影像半徑90個(gè)像素開始估計(jì)。如果在一次圖像查找過程中沒有找到黑太陽,則降低太陽半徑重新查找;3)預(yù)估黑太陽位置黑太陽也可看作是以直徑為d個(gè)像素的近似圓。也就是說在黑太陽里的以任何一個(gè)像素為基準(zhǔn)d個(gè)像素之外任何方向的像素都可認(rèn)作不是黑太陽的像素。如圖2查找黑太陽,以d為步長依次逐行遍歷整幅圖片,采用前一個(gè)像素的值為I且d個(gè)像素后的值為O為判斷條件,則可確定為黑太陽的可能位置(i,j+d),則可進(jìn)行4)。如果整幅圖像都未辨識出黑太陽,則從2)開始設(shè)置太陽半徑重新辨識圖像;4)粗估黑太陽面積是否大于閾值計(jì)算像素(i,j+d)的上下左右d個(gè)像素的共4d個(gè)像素值的和。如圖3所示,閾值范圍的上限值是點(diǎn)(i,j+d)在黑太陽中心,下限值點(diǎn)(i,j+d)在黑太陽邊緣。判定它是否在閾值范圍(d,2d)內(nèi)。閾值以內(nèi)表明檢驗(yàn)到有接近黑太陽大小的暗區(qū)域,以外則需要從3)繼續(xù)查找可能的黑太陽點(diǎn);5)查找黑太陽中心以當(dāng)前暗區(qū)域?yàn)閷ο?,將其看作一個(gè)圓形,求出其中心。如圖4所示,從像素(i,j+d)開始上下左右四個(gè)方向開始查找到像素值為I的四個(gè)點(diǎn)(i,j+d+X)、(i,j+d-y)、(i+z,j+d)和(i-w, j+d),橫縱坐標(biāo)分別取中值可得黑太陽中心坐標(biāo)(aa, bb) = (i+z/2_w/2,j+d+x/2-y/2);6)精估黑太陽面積和估計(jì)太陽面積步驟4)粗估可能誤認(rèn)黑太陽。需通過統(tǒng)計(jì)黑太陽面積和太陽面積進(jìn)一步加以確認(rèn)。其原理如圖5所示,以5)中確認(rèn)的黑太陽中心(aa,bb)為中心,分別構(gòu)建邊長為d和V^R的兩個(gè)正方形,計(jì)算邊長為d的正方形中包含的像素值為O的像素點(diǎn)個(gè)數(shù)Hl以及邊ιτΗ^Trd^
長為ViR的正方形中包含的像素值為I的像素點(diǎn)個(gè)數(shù)Η2,如果且
TtA^
2,則點(diǎn)(aa,bb)為太陽的中心;否則返回步驟3)從上一次的查找結(jié)束位
4
置繼續(xù)查找;其中Λ和ε為誤差調(diào)整系數(shù)。由于太陽和黑太陽之間的邊界像素可能為I或O,偶然性較大,所以要設(shè)定一定余量誤差Λ,一般設(shè)為黑太陽周長的一半。由于光學(xué)環(huán)境條件,太陽可能為非圓,正方形截取的面積可能不全是太陽面積,所以需要減去一個(gè)數(shù)值ε ο 7)太陽中心坐標(biāo)經(jīng)過6)的檢驗(yàn),黑太陽中心坐標(biāo)(aa,bb)即是所求的太陽中心。本發(fā)明說明書中未作詳細(xì)描述的內(nèi)容屬本領(lǐng)域技術(shù)人員的公知技術(shù)。
權(quán)利要求
1.一種基于CMOS導(dǎo)航相機(jī)的太陽定位方法,其特征在于步驟如下 (1)采用CMOS導(dǎo)航相機(jī)獲取一幅包括太陽在內(nèi)的圖像; (2)對步驟(I)獲得的圖像進(jìn)行二值化處理,將圖像中太陽所在范圍內(nèi)所有像素點(diǎn)的最低灰度值作為閾值,并將圖像中灰度值小于閾值的像素點(diǎn)的像素值設(shè)為0,將圖像中灰度值不小于閾值的像素點(diǎn)的像素值設(shè)為I ; (3)在二值圖像上,設(shè)置太陽半徑所包括的像素個(gè)數(shù)R; (4)在二值圖像上,設(shè)置黑太陽直徑所包括的像素個(gè)數(shù)d,以d為步長從二值圖像首行起始位置開始逐行查找黑太陽像素點(diǎn),查找條件為像素值為O且從該像素點(diǎn)所在位置沿其所在行向左或者向右移動步長d后對應(yīng)的像素點(diǎn)的像素值為1,設(shè)滿足查找條件的黑太陽像素點(diǎn)位于第i行第j+d列,每次找到一個(gè)黑太陽像素點(diǎn)后即停止查找進(jìn)入下一步;如果遍歷完二值圖像后仍未查找到滿足條件的黑太陽像素點(diǎn),則返回步驟(3)改變R值后重新執(zhí)行本步驟; (5)對于查找到的黑太陽像素點(diǎn),計(jì)算其上下左右各d個(gè)像素點(diǎn)共4d個(gè)像素點(diǎn)中像素值為O的像素點(diǎn)的個(gè)數(shù),如果計(jì)算結(jié)果位于閾值區(qū)間(d,2d-l),則進(jìn)入下一步;否則返回步驟(4)從上一次的查找結(jié)束位置繼續(xù)查找; (6)將黑太陽像素點(diǎn)及其周圍像素值為O的區(qū)域視為一個(gè)圓形,求出其圓心,以圓心為中心,分別構(gòu)建邊長為d和力R的兩個(gè)正方形,計(jì)算邊長為d的正方形中包含的像素值為O的像素點(diǎn)個(gè)數(shù)Hl以及邊長為VJ R的正方形中包含的像素值為I的像素點(diǎn)個(gè)數(shù)H2,如果— -Α<Η\ < — + Α Η2 > IR2-—-ε ,則圓心即為太陽的中心;否則返回步驟(4)444從上一次的查找結(jié)束位置繼續(xù)查找;其中Λ和ε為誤差調(diào)整系數(shù)。
2.根據(jù)權(quán)利要求I所述的一種基于CMOS導(dǎo)航相機(jī)的太陽定位方法,其特征在于所述步驟(6)中求取圓心的方法為從像素點(diǎn)(i,j+d)所在位置開始,向上下左右四個(gè)方向開始查找像素值為I的四個(gè)點(diǎn),上、下兩個(gè)點(diǎn)的縱坐標(biāo)均值以及左、右兩個(gè)點(diǎn)的橫坐標(biāo)均值分別作為圓心的橫坐標(biāo)和縱坐標(biāo)。
全文摘要
一種基于CMOS導(dǎo)航相機(jī)的太陽定位方法,步驟為(1)獲取圖像;(2)圖像二值化;(3)設(shè)置太陽半徑為R像素;(4)設(shè)置黑太陽直徑為d像素,以d為步長從二值圖像上查找黑太陽像素點(diǎn),找到一個(gè)即停止并進(jìn)入下一步;(5)計(jì)算黑太陽像素點(diǎn)上下左右各d個(gè)像素點(diǎn)中值為0的個(gè)數(shù),如果結(jié)果位于閾值區(qū)間則進(jìn)入下一步,否則繼續(xù)查找;(6)將黑太陽像素點(diǎn)及其周圍像素值為0的區(qū)域視為圓形,以其圓心為中心構(gòu)建邊長為d和的兩個(gè)正方形,如果邊長為d的正方形中像素值為0的像素點(diǎn)個(gè)數(shù)H1以及邊長為的正方形中像素值為1的像素點(diǎn)個(gè)數(shù)H2滿足且則圓心即為太陽的中心;否則返回步驟(4)繼續(xù)查找。
文檔編號G06K9/60GK102902975SQ20121038845
公開日2013年1月30日 申請日期2012年10月15日 優(yōu)先權(quán)日2012年10月15日
發(fā)明者單黎明, 王立, 梁瀟, 余成武, 周建濤, 吳奮陟, 鄭璇 申請人:北京控制工程研究所