吳川平,黃文愷,伍馮潔,張?chǎng)?,梁俊杰(.廣州大學(xué)數(shù)學(xué)與信息科學(xué)學(xué)院,廣州50006;.廣州大學(xué)實(shí)驗(yàn)中心,廣州50006;.廣州大學(xué)機(jī)械與電氣工程學(xué)院,廣州50006)
基于OpenCV的圖像預(yù)處理技術(shù)在無人機(jī)視頻的應(yīng)用
吳川平1,黃文愷2,伍馮潔2,張?chǎng)?,梁俊杰3
(1.廣州大學(xué)數(shù)學(xué)與信息科學(xué)學(xué)院,廣州510006;2.廣州大學(xué)實(shí)驗(yàn)中心,廣州510006;3.廣州大學(xué)機(jī)械與電氣工程學(xué)院,廣州510006)
OpenCV(Open Source Computer Vision)是一種用于數(shù)字圖像處理和計(jì)算機(jī)視覺的開放源代碼函數(shù)庫(kù)。從圖像處理在無人機(jī)視頻的應(yīng)用的角度出發(fā),提出一種預(yù)處理方法,將圖像處理的高斯濾波算法、雙邊平滑算法、圖像增益數(shù)以及圖像融合操作應(yīng)用于無人機(jī)拍攝視頻中。通過對(duì)視頻幀圖像的操作,解決無人機(jī)視頻圖像出現(xiàn)的抖動(dòng)、清晰度低等問題,同時(shí)有效降低環(huán)境光線及噪聲干擾的影響。
無人機(jī);數(shù)字圖像預(yù)處理;OpenCV
隨著計(jì)算機(jī)技術(shù)的高速發(fā)展,數(shù)字圖像技術(shù)已經(jīng)在通信、監(jiān)控、生物、醫(yī)學(xué)、雷達(dá)、航空等方面發(fā)揮著重要作用。通信、電子以及計(jì)算機(jī)技術(shù)也帶來了無人機(jī)領(lǐng)域的蓬勃發(fā)展,然而在無人機(jī)擴(kuò)展到各個(gè)領(lǐng)域的應(yīng)用過程中,也帶來了新的問題與思考。例如無人機(jī)的重要功能之一的拍攝功能,由于無人機(jī)拍攝必然會(huì)產(chǎn)生抖動(dòng),畫面也會(huì)由于環(huán)境因素出現(xiàn)模糊不清、噪聲污染、電子波干擾、環(huán)境與目標(biāo)難以區(qū)分等問題。
目前市面上出現(xiàn)了很多種解決方案來改善無人機(jī)拍攝的這些不足,但普遍通過硬件方式來實(shí)現(xiàn)。本文將采用軟件方式直接處理無人機(jī)獲取的視頻畫面,以Windows 7作為操作系統(tǒng),C++作為編程語(yǔ)言,Microsoft Visual Studio 2010作為編程軟件,并且配置可調(diào)用OpenCV庫(kù)函數(shù)的Path路徑,以無人機(jī)上采集到的視頻圖像作為處理材料,結(jié)合計(jì)算機(jī)本身的攝像頭采集實(shí)驗(yàn)所需圖片。通過實(shí)驗(yàn)驗(yàn)證,最終得到不僅適合普通視頻源使用,而且適用于無人機(jī)視頻采集的圖像預(yù)處理系統(tǒng)。
無人機(jī)視頻預(yù)處理系統(tǒng)主要由無人機(jī)視頻獲取、程序讀入視頻文件、幀圖像初始化、圖像濾波處理、圖像平滑處理、圖像增益處理和圖像融合操作七個(gè)部分組成,系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
系統(tǒng)首先對(duì)實(shí)時(shí)采集到的無人機(jī)視頻圖像進(jìn)行初始化,其次,對(duì)完成初始化的幀圖像分別應(yīng)用高斯濾波算法、雙邊平滑算法、5領(lǐng)域像素平均算法及圖像融合算法進(jìn)行圖像的濾波、平滑、增益及融合處理,從而輸出較高質(zhì)量的圖像序列。
(1)高斯濾波算法
本文采用高斯濾波算法實(shí)現(xiàn)圖像的濾波功能,函數(shù)聲明為:
void GaussianBlur(InputArray src1,OutputArray dst1,Size ksize,double sigmaX,double sigmaY=0,int borderType=BORDER_DEFAULT)
其中,src1為輸入圖像,dst1為輸出圖像,Ksize為濾波器模板大小,sigmaX、sigmaY分別為橫向和豎向的濾波系數(shù),borderType為邊緣點(diǎn)插值類型。
高斯濾波是對(duì)原圖像的每一個(gè)像素進(jìn)行濾波,對(duì)應(yīng)像素濾波后的值是根據(jù)其相鄰像素(包括該像素本身值)與一個(gè)濾波器模板相乘,也就是說只需要弄清楚高斯濾波器模板即可。由于本文處理的是二維幀圖像,為了簡(jiǎn)化,sigmaX和sigmaY取相等,得到模板大小ksize如式(1):
其中,i和j分別代表行和列,ksize的寬和高必須是奇數(shù),α、β的和為1。
(2)雙邊平滑算法
雙邊濾波是一種簡(jiǎn)單、邊緣保持平滑的非迭代方案,算法公式如式(2):
結(jié)合域和值域過濾將被表示為雙邊濾波[1],在平滑區(qū)域,一個(gè)小的鄰域的像素值是彼此相似的,雙邊濾波器的實(shí)現(xiàn)過程實(shí)際上是一個(gè)標(biāo)準(zhǔn)的域?yàn)V波,即平均掉小、弱相關(guān)的像素值之間的差異所造成的噪音[2~3]。除了雙邊平滑算法外,還可以采用高斯平滑等算法來實(shí)現(xiàn)圖像的平滑處理[4]。
(3)5領(lǐng)域像素平均算法
本文采用四鄰域方法來實(shí)現(xiàn)圖像的增益操作,對(duì)當(dāng)前像素點(diǎn)p(i,j),經(jīng)過增益處理后的像素點(diǎn)像素值如式(3):
其中,fp(i,j)為當(dāng)前像素點(diǎn)像素值,fp(i,j-1)與fp(i,j+1)分別為前一和后一像素點(diǎn)像素值,fp(i-1,j)與fp(i+1,j)分別為上一點(diǎn)和下一點(diǎn)像素點(diǎn)像素值。
(4)圖像融合操作
關(guān)于圖像融合的算法很多[5~6],在實(shí)際應(yīng)用中可根據(jù)需要選擇合適算法,本文采用addWeighted函數(shù),將平滑處理和增益處理后圖像相融合,通過給平滑處理的圖像和增益處理的圖像賦予不同的權(quán)值,從而得到不同重點(diǎn)效果的圖像。
本文對(duì)無人機(jī)采集到的實(shí)時(shí)圖像序列通過遍歷圖像像素點(diǎn)的方式來實(shí)現(xiàn)圖像濾波、平滑、增益及融合操作。為了減少對(duì)硬件資源的消耗及提高圖像處理速度,將實(shí)時(shí)圖像序列儲(chǔ)存類型為Mat,采用指針儲(chǔ)存圖像的形式,然后利用高斯濾波、雙邊平滑、5領(lǐng)域像素平均算法及圖像融合算法來進(jìn)行處理,算法的具體實(shí)現(xiàn)步驟如下:
①建立一個(gè)VideoCapture結(jié)構(gòu),導(dǎo)入無人機(jī)視頻;
②應(yīng)用capture.set設(shè)置開始幀和結(jié)束幀,為了保證視頻播放的流暢性,在幀與幀之間需適當(dāng)增加時(shí)延,時(shí)延值與幀率有關(guān),幀率可通過函數(shù)capture.get()獲得;
③調(diào)用OpenCV高斯濾波函數(shù)GaussianBlur(),雙邊平滑函數(shù)bilateralFilter(),增益函數(shù)sharp()以及融合函數(shù)addWeighted();
④調(diào)用namedWindow("")建立窗口以及imshow()函數(shù)顯示幀圖像,加上一定的延時(shí)即可得到流暢的經(jīng)過處理的視頻圖像。
⑤循環(huán)步驟①到步驟④,即可連續(xù)處理無人機(jī)采集到的視頻信號(hào)。
系統(tǒng)開發(fā)采用Microsoft Visual Studio 2010編程軟件,配以O(shè)penCV庫(kù)函數(shù)來實(shí)現(xiàn),OpenCV庫(kù)函數(shù)提供大量可供直接調(diào)用的函數(shù),省去了重新封裝函數(shù)的時(shí)間,同時(shí),OpenCV還提供了針對(duì)video文件和實(shí)時(shí)攝像機(jī)的幀提取函數(shù)和很多標(biāo)準(zhǔn)的圖像處理算法。從而縮短了開發(fā)周期,降低了開發(fā)難度。
圖1所示是一幅從無人機(jī)傳送回來的實(shí)時(shí)圖像,應(yīng)用高斯濾波算法、雙邊平滑算法、增益算法、圖像融合算法進(jìn)行處理后的效果圖分別如圖2、3、4、5所示。其中在進(jìn)行圖像融合操作時(shí),融合函數(shù)的權(quán)重值需根據(jù)實(shí)際處理的圖片來不斷調(diào)整數(shù)值,本文經(jīng)過多次實(shí)驗(yàn)不斷嘗試,當(dāng)權(quán)重值取0.4和0.6時(shí),圖像融合效果最好。
圖1 未經(jīng)處理過的原圖像
圖2 高斯濾波處理后的圖像
圖3 雙邊平滑處理后的圖像
圖4 增益操作后的圖像
圖5 圖像融合操作后的圖像
由圖2可以看出,噪聲干擾得到了很好的改善,噪聲像素被弱化,畫面也比較干凈,目標(biāo)突出。與2相比,圖3的圖像比較平滑,特別是噪點(diǎn)部分明顯減少了,本文運(yùn)用雙邊平滑算法而不是高斯平滑、均值平滑等算法,原因是雙邊平滑更能夠避免圖像邊緣模糊化。與圖3相比,圖4的圖像對(duì)比明顯更強(qiáng)烈,輪廓也更清晰,這是因?yàn)閳D像的像素得到增強(qiáng),使背景色跟目標(biāo)色區(qū)別越來越大。圖5是平滑處理圖與增益圖相融合操作后的圖像,取得了平滑與增益的雙重效果。與原圖像相比,經(jīng)過本文算法進(jìn)行圖像預(yù)處理后的無人機(jī)視頻圖像序列取得了顯著效果。
本文在基于OpenCV庫(kù)函數(shù)的基礎(chǔ)上,將高斯濾波算法、雙邊平滑算法、圖像增益技術(shù)以及圖像融合技術(shù)應(yīng)用于無人機(jī)實(shí)時(shí)視頻處理上,較好地消除了噪聲對(duì)視頻畫面的影響,同時(shí)也實(shí)現(xiàn)了畫面的平滑、像素增益、邊緣信息的保留功能,從而獲得比較清晰美觀的視頻圖像。本文的應(yīng)用程序也可以與優(yōu)秀的硬件基礎(chǔ)相結(jié)合,打造出比較理想的視頻預(yù)處理系統(tǒng),可較好用于為安防、航空、醫(yī)學(xué)、軍事等多方面視頻處理實(shí)現(xiàn)實(shí)際項(xiàng)目中的具體應(yīng)用。
[1]C.Tomasi,R.Manduchi,"Bilateral Filtering for Gray and Color Images",Proceedings of the 1998 IEEE International Conference on Computer Vision,Bombay,India.
[2]T.Boult,R.A.Melter,F.Skorina,I.Stojmenovic."G-neighbors",Proceedings of the SPIE Conference on Vision Geometry II,pages 96~109,1993
[3]R.T.Chin,C.L.Yeh.Quantitative Evaluation of Some Edge-Preserving Noise-Smoothing Techniques.Computer Vision,Graphics,and Image Processing,67~91,1983
[4]圖像平滑處理(歸一化塊濾波、高斯濾波、中值濾波、雙邊濾波).http://blog.csdn.net/xw20084898/article/details/21822565.
[5]才溪.多尺度圖像融合理論與方法.電子工業(yè)出版社
[6]Zheng S,Shi W Z,Liu J,et al.Multisource Image Fusion Method Using Support Value Transform[J].IEEE Transactions on Image Pro-cessing,2007,16(7):1831~1839
Unmanned Aircraft;Digital Image Preprocessing;OpenCV
Application of OpenCV Image Preprocessing Technology in Unmanned Aircraft Based on Video
WU Chuan-ping1,HUANG Wen-kai2,WU Feng-jie2,ZHANG Wen-wen2,LIANG Jun-jie2
(1.School of Mathematics and Information Science,Guangzhou University,Guangzhou 510006; 2.Laboratory Center,Guangzhou University,Guangzhou 510006; 3.School of Mechanical and Electric Engineering,Guangzhou University,Guangzhou 510006)
OpenCV is used for digital image processing and computer vision of the open source code libraries.Starts from image processing in the application of unmanned aircraft video angle,proposes a preprocessing method.Applies Gauss filtering algorithm for image processing,bilateral smoothing algorithm,image gain function,and image fusion operation to UAV video,through the video frame image operation, solves the problem of realization of generating video image captured the jitter,low resolution of issues and the environment to produce light,noise etc..
1007-1423(2015)14-0070-04
10.3969/j.issn.1007-1423.2015.14.017
吳川平(1992-),女,重慶人,在讀本科生,專業(yè)方向?yàn)閿?shù)學(xué)與應(yīng)用數(shù)學(xué)
黃文愷(1981-),男,廣東韶關(guān)人,實(shí)驗(yàn)師,碩士,從事領(lǐng)域?yàn)闊o人機(jī)、機(jī)器人等技術(shù)的實(shí)驗(yàn)教學(xué)與技術(shù)開發(fā)
伍馮潔(1979-),女,廣東陽(yáng)江人,碩士研究生,高級(jí)實(shí)驗(yàn)師,研究方向?yàn)橛?jì)算機(jī)測(cè)控技術(shù)方向
張?chǎng)?994-),女,貴州赤水人,在讀本科,專業(yè)方向?yàn)楣怆娦畔⒖茖W(xué)與工程
梁俊杰(1995-),男,廣東廣州人,在讀本科,專業(yè)方向?yàn)闄C(jī)械設(shè)計(jì)制造及其自動(dòng)化
2015-03-19
2015-05-12