趙慧+金思曄+陳瑞+焦良葆


摘 要:通過圖像處理的方法,對(duì)現(xiàn)場(chǎng)收集到的圖像進(jìn)行處理后得出單管塔、樓房的高度。使用OpenCV的透視矯正函數(shù)解決由于相機(jī)傾斜拍攝引起圖片透視從而導(dǎo)致圖像上高度方向的比例與實(shí)際比例之間存在較大誤差的問題;接著通過數(shù)學(xué)方法等比例計(jì)算,計(jì)算出塔高或者樓高。實(shí)驗(yàn)結(jié)果表明:此方法能夠精確地測(cè)量出相應(yīng)的數(shù)據(jù)結(jié)果,即通信鐵塔和建筑物高度。與傳統(tǒng)使用測(cè)距儀的估算方法相比,該文提出的方法提高了精確性,精確度提高2%~3%。
關(guān)鍵詞:圖像處理 OpenCV 圖片透視
中圖分類號(hào):TH741 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2017)03(a)-0012-02
為了增加無線通信系統(tǒng)的服務(wù)半徑,通常將通信天線安置到最高點(diǎn),可采用通信鐵塔來增加天線的掛高。實(shí)際通信系統(tǒng)中,為了降低成本,鐵塔搭建在建筑物的樓頂上。此時(shí),天線的掛高由兩部分構(gòu)成:一是建筑物的高度h;二是支撐架到天線中點(diǎn)的距離d。由于天線的掛高直接影響無線信號(hào)的覆蓋范圍,需要較精確地測(cè)量。一般來說,支撐架到天線中點(diǎn)的距離由于是固定的,所以根據(jù)經(jīng)驗(yàn)可以很快地得出。但樓的高度必須進(jìn)行實(shí)地測(cè)量。現(xiàn)行的測(cè)量方法是爬上房頂,通過測(cè)距儀測(cè)量。但是由于塔有很大一部分搭建在居民樓,工作人員不便于爬上樓頂且危險(xiǎn)系數(shù)較高,只能通過估算一層樓的高度,然后乘以樓層數(shù),估算出樓的高度;也可以利用數(shù)學(xué)中三角相似的原理來估算,這種測(cè)量方法得到的數(shù)據(jù)不夠精確。
為了提高測(cè)量的準(zhǔn)確度,該文提出了一種基于圖像處理的通信鐵塔和建筑物高度的測(cè)量方法。根據(jù)從現(xiàn)場(chǎng)收集到的圖像,利用OpenCV對(duì)圖像進(jìn)行透視變換處理后,再根據(jù)數(shù)學(xué)等比例運(yùn)算原理得出單管塔、樓房的高度。
1 基于圖像處理的通信鐵塔和建筑物高度測(cè)量方案
1.1 基于圖像處理的高度測(cè)量原理
為了提高測(cè)量精度,該文提出了一種基于圖像處理的測(cè)量鐵塔和建筑物高度的方法。我們以單管塔為例來說明測(cè)量方法。首先,我們根據(jù)從現(xiàn)場(chǎng)獲得單管塔的實(shí)攝圖像,可得到單管塔的簡(jiǎn)化模型如圖1所示。
圖1中,line4是地面所在的直線,line1跟line2是工作人員在測(cè)量的時(shí)候貼上的紅色條狀標(biāo)記物,工作人員測(cè)出h2(line1與line4之間的距離)及h1(line2與line4之間的距離),算出line1和line2之間的距離h3= h2-h1,然后進(jìn)行圖像處理,掃描出從塔頂line3到line2之間的像素行數(shù)記為num1,line2與line1之間的像素行數(shù)num2。記塔頂line3到line2之間的距離為h,,記塔的整個(gè)高度為H,所以H=h+h1。
1.2 針對(duì)成像透視畸變的圖像矯正
測(cè)量樓房的高度是為了得到天線的掛高,受拍攝條件的限制,會(huì)出現(xiàn)像上圖所示的相機(jī)傾斜拍攝而導(dǎo)致圖片透視的效果[1,6],導(dǎo)致圖像上高度方向的比例與實(shí)際比例之間存在較大的誤差,不能夠較為精確地測(cè)量出樓的高度。
為了解決這個(gè)問題,可利用OpenCV[4,7]里自帶的透視矯正函數(shù)[11]getPerspectiveTransform與warpPerspective來進(jìn)行矯正。該函數(shù)矯正后雖不能完全還原成真實(shí)場(chǎng)景里面的比例,但在高度方面的比例已經(jīng)達(dá)到我們的要求,是一種可取的辦法。矯正前的圖片如圖2所示,經(jīng)過矯正后的圖片如圖3所示。經(jīng)過矯正后的圖像可以通過上述測(cè)量單管塔的方法進(jìn)行測(cè)量,通過測(cè)量已知高度h,求出h對(duì)應(yīng)像素點(diǎn)num1,以及矯正后的樓房高度H對(duì)應(yīng)像素點(diǎn)num2。由公式H=h×(num2/num1)準(zhǔn)確求出樓房高度。
2 技術(shù)方案實(shí)現(xiàn)和實(shí)驗(yàn)數(shù)據(jù)分析
2.1 技術(shù)方案實(shí)現(xiàn)
如圖1所示,在地面選中參考直線line4,并在測(cè)量的時(shí)候貼上紅色條狀標(biāo)記物line1跟line2,工作人員測(cè)出h2及h1,計(jì)算出line1和line2之間的距離h3= h2-h1,然后進(jìn)行圖像處理,掃描出從塔頂line3到line2之間的像素行數(shù),記為num1,line2與line1之間的像素行數(shù)num2。求得,記塔的整個(gè)高度為H,所以H= h+h1。樓的高度與塔的高度方法是一樣的。如果圖像有畸變,那么就需要做透視變換,如果沒有,那就不需要。
樓房的高度測(cè)量與通信鐵塔的高度測(cè)量大致一致。若拍攝角度傾斜,測(cè)量值首先需要經(jīng)過OpenCV中的矯正函數(shù)進(jìn)行矯正,得到透視變換后的圖像。若正對(duì)拍攝,則不需要經(jīng)過透視變換。h為已知高度,求出h對(duì)應(yīng)像素點(diǎn)num1以及H對(duì)應(yīng)像素點(diǎn)num2。則H=h×(num2/num1)。由此公式準(zhǔn)確求出樓房高度。
2.2 實(shí)驗(yàn)數(shù)據(jù)分析
單管塔的實(shí)際高度通過激光測(cè)距儀測(cè)得,測(cè)出地面測(cè)量點(diǎn)到塔頂、塔底的距離,再利用勾股定理得出塔高。單管塔的測(cè)量高度則是利用上述介紹方法,求出塔的實(shí)際高度= h+h1。5次實(shí)驗(yàn)為一組,求出實(shí)驗(yàn)平均值,得出一次單管塔高度測(cè)量值。
樓房實(shí)際高度也是通過激光測(cè)距儀測(cè)得,測(cè)出地面測(cè)量點(diǎn)到樓頂、樓底的距離,再利用勾股定理得出樓高。樓房測(cè)量高度則是利用上述介紹的測(cè)量方法,代入公式H=h×(num2/num1),5次實(shí)驗(yàn)為一組,求出實(shí)驗(yàn)平均值,得出一次樓房高度測(cè)量值。
根據(jù)上述測(cè)量方法計(jì)算完畢后,分析獲得的測(cè)量數(shù)據(jù)可以發(fā)現(xiàn),該實(shí)驗(yàn)方法的誤差能夠控制在5%以內(nèi),相較于經(jīng)緯儀測(cè)量、全站儀測(cè)量等耗時(shí)久、誤差大的傳統(tǒng)高度方法,該設(shè)計(jì)方法測(cè)量出的塔高、樓高簡(jiǎn)單方便,且誤差控制良好,故效率較高。
3 結(jié)語
文章介紹了一種基于OpenCV的圖像處理的方法,主要運(yùn)用于通信單管塔、樓房高度的測(cè)量、矯正。由于傳統(tǒng)方法相較于該文介紹的基于圖像處理的方法,工作效率低且很有可能會(huì)因?yàn)闇y(cè)量的誤差導(dǎo)致較大的實(shí)際與測(cè)量的偏差。而采用該文介紹的方法,能夠高效準(zhǔn)確地完成工作任務(wù)。且針對(duì)樓房高度的測(cè)量也提高了準(zhǔn)確性,因?yàn)楝F(xiàn)在比較常用的測(cè)量方法是通過測(cè)量一層樓房估算一棟樓的高度或者通過數(shù)學(xué)三角相似的原理計(jì)算得出高度,較之上述兩種方法,此方法簡(jiǎn)單有效且結(jié)果相較于實(shí)際不容易出現(xiàn)較大偏差。試驗(yàn)證明,基于圖像處理的方法測(cè)量高度能夠很好地運(yùn)用于實(shí)際操作中且誤差能夠控制在5%以內(nèi),在預(yù)期理想范圍之內(nèi),且該方法已基于Android手機(jī)完成APP開發(fā),實(shí)測(cè)結(jié)果符合工程實(shí)際需要。
參考文獻(xiàn)
[1] 葉玉駒.高等畫法幾何學(xué)[M].北京:國防工業(yè)出版社,1990.
[2] (美)GaryBradski,AdrianKaehler.學(xué)習(xí)OpenCV中文版[M].北京:清華大學(xué)出版社,2009.
[3] 毛星云.OpenCV3編程入門[M].北京:電子工業(yè)出版社,2015.
[4] 陳勝勇.基于OpenCV的計(jì)算機(jī)視覺技術(shù)實(shí)現(xiàn)[M].北京:科學(xué)出版社,2008.
[5] 張廣淵,王愛俠,王超.數(shù)字圖像處理基礎(chǔ)及OPENCV實(shí)現(xiàn)[M].北京:知識(shí)產(chǎn)權(quán)出版社,2014.
[6] 邾繼貴,于之靖.視覺測(cè)量原理與方法[M].北京:機(jī)械工業(yè)出版社,2012.
[7] 劉海波,吳昊.基于OpenCV的圖像處理[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014(9):195,197.
[8] 陳博華,戴少鵬.基于OpenCV的圖像處理方法[J].電子技術(shù)與軟件工程,2015(19):125.
[9] (加)Robert Laganiere.OpenCV計(jì)算機(jī)視覺編程攻略[M].北京:人民郵電出版社,2015.
[10] (加)Robert Laganiere.OpenCV2計(jì)算機(jī)視覺編程手冊(cè)[M].北京:科學(xué)出版社,2013.
[11] 黃智編.圖像處理與識(shí)別實(shí)用程序庫[M].天津:天津科學(xué)技術(shù)出版社,1989.