亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        魚眼全景拼接系統(tǒng)研究與實(shí)現(xiàn)

        2019-06-07 15:08:13劉金亮卜凡亮
        軟件導(dǎo)刊 2019年1期

        劉金亮 卜凡亮

        摘 要:視覺領(lǐng)域中全景圖像受到廣泛關(guān)注。魚眼圖像全景拼接步驟繁多,工作量大且耗時(shí)較長,影響實(shí)時(shí)性。針對該問題設(shè)計(jì)了一種MFC+OpenCV相結(jié)合的魚眼全景拼接系統(tǒng)。該系統(tǒng)用C++語言編譯,在VS2012的操作平臺(tái)上搭建MFC框架并安裝配置OpenCV開源視覺處理庫,進(jìn)行輸入輸出、圖像顯示和圖像拼接處理等操作。魚眼全景拼接系統(tǒng)界面整潔,操作便捷,對全景視頻監(jiān)控開發(fā)具有重要現(xiàn)實(shí)意義。

        關(guān)鍵詞:魚眼圖像;全景拼接;MFC;OpenCV

        DOI:10.11907/rjdk.182466

        中圖分類號(hào):TP319文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1672-7800(2019)001-0112-04

        Abstract:In the field of vision, panoramic images have received widespread attention and recognition. The fisheye image panorama stitching has many steps, it is of heavy workload and time-consuming, which affects the real-time performance. A fisheye panoramic stitching system based on MFC+OpenCV is designed. The fisheye panoramic splicing system is compiled in C++ language. On the VS2012 operating platform, the MFC framework is built and the OpenCV open source visual processing library is installed and configured. The fisheye image and the fisheye camera are used for input and output, image display and image splicing processing.? The fisheye panoramic splicing system has a neat interface, convenient operation and simple start-up, which has very important practical significance for the development of panoramic video surveillance.

        0 引言

        計(jì)算機(jī)視覺作為一個(gè)重要研究領(lǐng)域引起許多學(xué)者關(guān)注[1]。圖像拼接作為該領(lǐng)域的一個(gè)分支,其應(yīng)用也越來越廣泛[2]。圖像拼接是指將兩幅相鄰的圖像數(shù)據(jù)集合起來拼接成一幅尺度更大、視角更廣的圖像或全景圖。全景圖像獲取方式主要有兩種:①使用普通相機(jī)[3-4],通過拍攝多張具有重疊區(qū)域的小視角圖像,經(jīng)過拼接處理組合成一幅大視角圖像,通常情況下形成全景圖像的照片數(shù)量不低于8張;②直接使用廣角鏡頭拍攝圖像[5-6]。廣角鏡頭是一種焦距短于標(biāo)準(zhǔn)鏡頭、視角大于標(biāo)準(zhǔn)鏡頭的攝影鏡頭,在較短的拍攝距離范圍內(nèi)能拍攝較大面積的景物,而魚眼鏡頭是一種特殊的廣角鏡頭[7],其水平和垂直視角都能達(dá)到180°。理論上兩張魚眼圖片就能形成一幅360°×360°的全景圖。但由于周邊畫面畸變嚴(yán)重,通常情況下采用3-4張魚眼圖片即可拼接成全景圖像[8]。

        沈柯[9]設(shè)計(jì)的全景視圖圖像拼接系統(tǒng),只需將三腳架固定好,用普通相機(jī)從多角度拍攝多張圖片系統(tǒng)就可輸出全景拼接結(jié)果。但大量相同圖片數(shù)據(jù)多次利用造成冗余計(jì)算,計(jì)算量巨大,耗時(shí)較長。宋寶森[10]設(shè)計(jì)的全景圖像拼接系統(tǒng),需要提前輸入相機(jī)鏡頭多個(gè)參數(shù),手動(dòng)計(jì)算圖像匹配的變換矩陣值并進(jìn)行全局調(diào)整,隨后輸出全景圖。雖然最終輸出的全景圖效果較好,但在系統(tǒng)操作過程中需要涉及相關(guān)參數(shù)設(shè)置,且步驟繁多,應(yīng)用場景有限。廖訓(xùn)佚[11]在魚眼全景拼接系統(tǒng)中,首先將各個(gè)模塊進(jìn)行明確的功能劃分,然后在系統(tǒng)中將各模塊耦合起來,操作步驟簡單易學(xué),但功能單一且拼接過程較慢,不適合實(shí)時(shí)拼接。

        針對上述拼接系統(tǒng)設(shè)計(jì)的不足,本文使用C++程序、MFC(Microsoft Foundation Classes)界面開發(fā)庫和OpenCV(Open Source Computer Vision Library)圖像處理開源庫,開發(fā)了一套基于魚眼的圖像和視頻雙拼接系統(tǒng)[12]。通過對魚眼圖像的處理,實(shí)現(xiàn)魚眼圖像的校正和拼接操作,各個(gè)模塊獨(dú)立運(yùn)行,分工明確,最后生成全景拼接圖。同時(shí)添加視頻拼接功能模塊,實(shí)時(shí)全景拼接。

        1 全景拼接關(guān)鍵技術(shù)

        魚眼全景拼接關(guān)鍵技術(shù)有魚眼校正技術(shù)[13]、圖像匹配技術(shù)[14-15]等。

        1.1 魚眼校正技術(shù)

        魚眼校正技術(shù)是魚眼全景拼接的基礎(chǔ),校正效果決定后面拼接的質(zhì)量。常見的魚眼校正技術(shù)有球面坐標(biāo)定位法和經(jīng)緯度映射法。魚眼圖像是圓形的,有圓心和半徑,在魚眼圖像的圓形區(qū)域內(nèi)按比例畫出經(jīng)線,然后將同一經(jīng)線上的點(diǎn)校正后為同一橫坐標(biāo),縱坐標(biāo)不變,這就是球面坐標(biāo)定位法原理。球面坐標(biāo)定位法思路簡單,校正效率高但校正質(zhì)量不好,存在明顯的拱形失真,不能應(yīng)用于后續(xù)的拼接操作。而經(jīng)緯度映射法在球面坐標(biāo)定位法基礎(chǔ)上添加了緯度線,即在魚眼圖像區(qū)域內(nèi)按比例畫出經(jīng)緯線,同一經(jīng)度上的點(diǎn)像素校正后具有相同的橫坐標(biāo),同一緯度上的點(diǎn)像素校正后具有相同的縱坐標(biāo)。同球面坐標(biāo)定位法相比,經(jīng)緯度映射法校正效果有了明顯提高,本系統(tǒng)即采用該方法用于魚眼圖像校正。

        1.2 圖像匹配技術(shù)

        圖像匹配技術(shù)是圖像拼接的關(guān)鍵技術(shù)。圖像匹配技術(shù)分為基于區(qū)域的匹配、基于頻域的匹配和基于特征點(diǎn)的匹配,本系統(tǒng)采用基于特征點(diǎn)的匹配。特征點(diǎn)匹配即對兩幅待匹配的圖像提取它們圖像上明顯的特征信息進(jìn)行匹配,確定它們之間的空間關(guān)系。由于魚眼圖像校正后仍存在畸變現(xiàn)象,用特征點(diǎn)方法提取的特征信息能很好地進(jìn)行匹配。本系統(tǒng)采用SURF特征點(diǎn)提取算法,該算法具有旋轉(zhuǎn)、平移、仿射不變性等特性。

        2 系統(tǒng)結(jié)構(gòu)與流程設(shè)計(jì)

        傳統(tǒng)的全景圖像是將待拼接的圖像一步步拼接起來,過程瑣碎,工作量大且耗時(shí)較長。魚眼全景拼接系統(tǒng)省去一系列復(fù)雜的指向性操作,簡化全景拼接圖像的合成步驟,在已有算法基礎(chǔ)上搭建魚眼全景拼接系統(tǒng)。

        2.1 系統(tǒng)功能

        (1)圖像讀取。拼接系統(tǒng)軟件設(shè)計(jì)核心在于圖像處理,所以首先要讀取圖像,針對不同存儲(chǔ)格式的圖像都能進(jìn)行載入操作。

        (2)圖像顯示。圖像要能顯示在計(jì)算機(jī)屏幕上,并可統(tǒng)一將顯示的圖片以同一圖片格式保存在計(jì)算機(jī)中。

        (3)圖像處理。此功能步驟:魚眼圖像校正、圖像特征點(diǎn)檢測和匹配、圖像重映射及融合。魚眼圖像存在畸變,本系統(tǒng)通過經(jīng)緯度映射法對魚眼圖像進(jìn)行校正;對具有重疊區(qū)域的圖像進(jìn)行SURF特征點(diǎn)檢測并進(jìn)行匹配;利用匹配的特征點(diǎn)計(jì)算圖像間的變換模型,將這些圖像轉(zhuǎn)換到同一坐標(biāo)系上,并對拼接后的圖像進(jìn)行融合處理,減少圖像間的重影現(xiàn)象,提高圖像辨識(shí)度。這部分算法在OpenCV中實(shí)現(xiàn)。

        (4)視頻輸入輸出。通過接入實(shí)時(shí)的魚眼攝像頭,在計(jì)算機(jī)上實(shí)時(shí)觀看拍攝的畫面,并經(jīng)過處理呈現(xiàn)出校正拼接后的全景圖像。對視頻的拼接本質(zhì)就是通過捕獲攝像頭的幀對其進(jìn)行圖像拼接。

        系統(tǒng)功能模塊如圖1所示。

        2.2 系統(tǒng)流程

        魚眼全景拼接系統(tǒng)有兩個(gè)獨(dú)立的小系統(tǒng),分別是魚眼圖像全景拼接系統(tǒng)和魚眼攝像機(jī)實(shí)時(shí)拼接系統(tǒng)[16-17]。前者主要對圖片進(jìn)行處理,后者則是對攝像頭導(dǎo)入的實(shí)時(shí)畫面進(jìn)行處理[18]。

        魚眼全景圖像拼接流程如圖2所示,操作步驟包括對魚眼圖像讀取、顯示,同時(shí)對于待拼接圖像選擇性添加或刪除甚至清空。然后對待拼接圖像進(jìn)行拼接處理,包括魚眼圖像校正、圖像特征點(diǎn)提取及匹配、圖像重映射及融合等。對于拼接的圖像有兩種可能,一種是輸入圖像不符合匹配要求,因?yàn)檫x擇的魚眼圖像不一定擁有共同區(qū)域,或由于圖像拼接過程存在不可控因素導(dǎo)致拼接失敗,此時(shí)系統(tǒng)會(huì)給出錯(cuò)誤提示其找原因;一種是拼接成功,這時(shí)系統(tǒng)呈現(xiàn)拼接成功反饋的全景圖,在此基礎(chǔ)上可按系統(tǒng)格式要求保留全景圖像或直接選擇退出。

        魚眼攝像機(jī)實(shí)時(shí)拼接流程如圖3所示。首先將攝像機(jī)鏡頭按一定位置擺好(本實(shí)驗(yàn)中按3個(gè)魚眼攝像頭兩兩成120°放好,并根據(jù)3個(gè)攝像頭拍下的圖像計(jì)算好它們之間的數(shù)據(jù)和拼接算法)。同時(shí)打開3個(gè)魚眼攝像頭,導(dǎo)入實(shí)時(shí)畫面并顯示實(shí)時(shí)拼接全景圖。此種視頻拼接屬于拼接圖像的合成方式,將每一部分視頻幀按照一定的規(guī)則進(jìn)行處理,然后各段圖像以一定的拼接方式拼接成全景圖像,實(shí)現(xiàn)視頻拼接效果。

        3 系統(tǒng)實(shí)現(xiàn)

        3.1 系統(tǒng)軟件開發(fā)環(huán)境

        系統(tǒng)開發(fā)環(huán)境:VS2010+OpenCV+MFC。

        MFC是微軟基礎(chǔ)類庫的總稱,是一個(gè)封裝了大部分Windows API函數(shù)的C++類庫,還是一個(gè)基礎(chǔ)框架,作為應(yīng)用程序的交互界面使用,對于編譯框架能夠很好地完成初期Windows界面設(shè)定[19]。

        OpenCV是一個(gè)基于開源發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺庫,用C++語言編寫,主要接口也是C++語言[20-21],能實(shí)現(xiàn)圖像處理和計(jì)算機(jī)視覺方面的很多通用算法,在本系統(tǒng)中主要用來實(shí)現(xiàn)圖像拼接模塊(圖像的特征點(diǎn)檢測和匹配、圖像的重映射及融合)功能。

        每個(gè)模塊的接口分別表示如下:

        3.2 關(guān)鍵代碼

        在本文設(shè)計(jì)的案件場景重建系統(tǒng)平臺(tái)中,OpenCV負(fù)責(zé)魚眼圖像校正和圖像拼接功能。捕獲攝像頭幀的關(guān)鍵代碼如下:

        3.3 系統(tǒng)試驗(yàn)

        系統(tǒng)試驗(yàn)從兩部分描述。

        (1)魚眼圖像全景拼接。從文件夾中添加3張魚眼圖像,添加了圖像在界面左邊顯示。點(diǎn)擊全景拼接,系統(tǒng)自動(dòng)將魚眼圖像先校正再匹配進(jìn)行拼接,界面右邊顯示拼接結(jié)果。點(diǎn)擊保存結(jié)果按鈕就會(huì)按指定格式保存全景圖像。魚眼圖像全景拼接如圖5所示。

        (2)魚眼攝像機(jī)實(shí)時(shí)拼接。打開3個(gè)魚眼鏡頭(兩兩呈120°),在界面左邊實(shí)時(shí)顯示攝像機(jī)拍攝的畫面。點(diǎn)擊視頻拼接按鈕,在界面右邊就會(huì)顯示出實(shí)時(shí)全景拼接圖。點(diǎn)擊保存結(jié)果按鈕可保存當(dāng)前拼接的圖片。魚眼攝像機(jī)實(shí)時(shí)拼接如圖6所示。

        4 結(jié)語

        本文基于MFC+OpenCV設(shè)計(jì)了魚眼全景拼接系統(tǒng),大大提升了全景圖片的生成效率,同時(shí)引入了實(shí)時(shí)視頻拼接功能。該系統(tǒng)畫面簡潔、操作方便、運(yùn)行流暢、兼容性較強(qiáng),有一定的參考和應(yīng)用價(jià)值。但受限于硬件配置條件,系統(tǒng)拼接展示的實(shí)時(shí)畫面有卡頓現(xiàn)象,且拼接出來的圖像分辨率較低,拼接圖像的中間仍有明顯的分割線存在,這是后續(xù)算法改進(jìn)的方向。

        參考文獻(xiàn):

        [1] 倪晨旭. 計(jì)算機(jī)視覺研究綜述[J]. 電子世界,2018(1):91-93.

        [2] 薛佳樂.? 圖像拼接算法的研究[D]. 天津:天津理工大學(xué),2018.

        [3] 李佳,盛業(yè)華,張卡,等. 基于未標(biāo)定普通相機(jī)的全景圖像拼接方法[J]. 系統(tǒng)仿真學(xué)報(bào),2013,25(9):2070-2074.

        [4] 林華琦,蘭誠棟. 基于多相機(jī)系統(tǒng)標(biāo)定的全景拼接算法研究[J]. 信息通信,2018(3):37-40.

        [5] 楊浩新.? 角度不一樣? 效果大不同[N].? 中國攝影報(bào),2018-02-27(007).

        [6] 朱佳巍,王旗,范俊輝,等. 一款小型化紅外廣角鏡頭的設(shè)計(jì)[J]. 激光與光電子學(xué)進(jìn)展,2018,55(7):139-144.

        [7] 侯國柱,呂麗軍. 一款可見光魚眼鏡頭系統(tǒng)設(shè)計(jì)[J]. 光學(xué)與光電技術(shù),2018,16(3):90-95.

        [8] 周小康,饒鵬,朱秋煜,等. 魚眼圖像畸變校正技術(shù)研究[J]. 工業(yè)控制計(jì)算機(jī),2017,30(10):95-96,99.

        [9] 沈柯.? 基于全景視圖管理的3D圖像拼接方法研究與實(shí)現(xiàn)[D]. 西安:西安電子科技大學(xué),2014.

        [10] 宋寶森.? 全景圖像拼接方法研究與實(shí)現(xiàn)[D]. 哈爾濱:哈爾濱工程大學(xué),2012.

        [11] 廖訓(xùn)佚.? 魚眼圖像全景拼接系統(tǒng)[D]. 重慶:重慶大學(xué),2009.

        [12] 李佳,段平,張馳. 圖像分塊匹配下視頻全景拼接方法[J]. 應(yīng)用基礎(chǔ)與工程科學(xué)學(xué)報(bào),2018(4):697-708.

        [13] 邢立新.? 魚眼鏡頭視頻圖像實(shí)時(shí)校正技術(shù)研究[D]. 哈爾濱:黑龍江大學(xué),2014.

        [14] 李倩.? 基于特征描述的圖像匹配技術(shù)研究[D]. 桂林:桂林電子科技大學(xué),2017.

        [15] 張曉聞.? 融合優(yōu)化算法的圖像匹配技術(shù)研究[D]. 太原:中北大學(xué),2017.

        [16] 何源.? 魚眼圖像無縫全景拼接技術(shù)研究[D]. 太原:山西農(nóng)業(yè)大學(xué),2015.

        [17] 汪丹.? 魚眼圖像全景拼接技術(shù)的研究與實(shí)現(xiàn)[D]. 長沙:湖南師范大學(xué),2017.

        [18] 呂世良,王曉茜,劉金國. 數(shù)字視頻監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 測控技術(shù),2014,33(2):80-82,86.

        [19] 車忠志,孫雪雁. MFC應(yīng)用程序基本框架分析[J]. 農(nóng)業(yè)網(wǎng)絡(luò)信息,2010(9):145-147.

        [20] 毛星云,冷雪飛.? OpenCV編程入門[M]. 北京:電子工業(yè)出版社,2015.

        [21] 汪洵瀟.? 基于OpenCV的視頻監(jiān)控?cái)?shù)據(jù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 北京:北京交通大學(xué),2011.

        (責(zé)任編輯:杜能鋼)

        国产亚洲自拍日本亚洲| 高清国产亚洲va精品| 国产青青草自拍视频在线播放| 国产精品久久久黄色片| 色综合久久无码五十路人妻 | 一性一交一口添一摸视频| 久草视频这里有精品| 日韩精品极品免费观看| 国产精品日韩av一区二区| 亚洲精品www久久久久久| 国产精品揄拍100视频| 国产精品久久久久久久久免费| 国产jk在线观看| 久久精品国产亚洲av调教| 国产亚洲精品国产精品| 人人妻人人澡人人爽欧美精品| 国产91精选在线观看麻豆| 国产精品久久久精品三级18| 中国人在线观看免费的视频播放| 消息称老熟妇乱视频一区二区 | 国产一区二区波多野结衣| 国产精品免费久久久免费| 国产99视频一区二区三区| 婷婷亚洲岛国热超碰中文字幕| 色噜噜狠狠一区二区三区果冻| 91国在线啪精品一区| 粉色蜜桃视频完整版免费观看在线| 夜夜高潮夜夜爽夜夜爱爱一区| 亚洲中文字幕无码久久| 最新欧美一级视频| 国产精品女同一区二区软件| 狠狠色噜噜狠狠狠777米奇小说 | 国产高级黄区18勿进一区二区| 国产大学生自拍三级视频 | 午夜dy888国产精品影院| 国产精品99久久久久久宅男| 亚洲国产一区二区三区在观看| 亚洲国产女性内射第一区二区| 狼人香蕉香蕉在线28 - 百度| 亚洲午夜无码久久yy6080 | 国产视频不卡在线|