本發(fā)明涉及魚眼圖像處理技術(shù)領(lǐng)域,具體是一種基于固定拼接參數(shù)的快速雙目魚眼全景圖像拼接方法。
背景技術(shù):
全景圖像作為一種能為用戶提供超大視野觀察的實景圖片,廣泛應(yīng)用于虛擬旅游、增強現(xiàn)實、工程開發(fā)、搶險救災(zāi)、機器人導航等多個領(lǐng)域。其中基于圖像拼接的全景圖像生成主要包括以下三種方式:(1)采用多鏡頭的特制設(shè)備,比如facebooksurround360、goproodyssey、中國實用新型專利(申請?zhí)?01220019086.9,申請公開號cn202455444u)等,但這類設(shè)備價格昂貴,普通大眾往往承受不起;(2)通過單鏡頭旋轉(zhuǎn)一周,采集多張圖像拼接,如中國發(fā)明專利(申請?zhí)?01110159291.5,申請公開號cn102222337a)等,這類方法拍攝時間過長,僅適用于靜態(tài)場景;(3)基于魚眼圖像拼接,因為魚眼鏡頭的視角可以達到甚至超過180°,所以理論上兩張魚眼圖像就可得到全景圖像,這種方法成本較低,操作簡單,效果顯著。
本發(fā)明采用基于魚眼圖像拼接的方法,不同于中國發(fā)明專利(申請?zhí)?01510299400.1,申請公開號cn104835118a)等采用圖像特征點匹配的方法尋找重疊區(qū)域,上述方法匹配速度慢,每次生成全景圖像,都要執(zhí)行一次特征點檢測和匹配過程,增加了全景生成的代價,同時基于特征點的圖像匹配不精確,拼接效果不理想,本發(fā)明提出了一種基于固定拼接參數(shù)的快速雙目魚眼全景圖像拼接方法,自制簡單、易實現(xiàn)的硬件裝置,通過獲取旋轉(zhuǎn)偏移參數(shù)和重合度即可獲得拼接魚眼圖像的查找表,實現(xiàn)魚眼圖像到拼接后圖像的位置映射,從而實現(xiàn)雙目魚眼圖像的快速拼接。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種操作簡單、拼接效果好、易于硬件實現(xiàn)、速度快的基于固定拼接參數(shù)的快速雙目魚眼全景圖像拼接方法,來解決現(xiàn)有基于魚眼圖像拼接的方法中,拼接速度慢、邊緣拼接效果不精確等問題。
本發(fā)明的技術(shù)方案如下:
一種基于固定拼接參數(shù)的快速雙目魚眼全景圖像拼接方法,其特征在于:具體包括以下步驟:
s1、設(shè)置魚眼全景圖像拼接參數(shù)獲取裝置:具體包括以下部分:設(shè)置硬件裝置主結(jié)構(gòu)、設(shè)置相機支撐架和相機、設(shè)置特殊線條;
s11、設(shè)置硬件裝置主結(jié)構(gòu):選取一個立方盒體,所述的立方盒體包括有abcd、aefb、dhgc、bfgc、adeh和efgh六個面,其中abcd、aefb、dhgc和bfgc四個面均為半透明亞克力玻璃面,adeh面和efgh面為空;
s12、設(shè)置相機支撐架和相機:首先選取一個可支持前后、上下活動的支架作為相機支撐架,并選取一個雙目魚眼相機,再將所述的相機支撐架通過adeh面放置到所述立方盒體內(nèi),并固定到所述立方盒體的efgh面上;然后將所述的雙目魚眼相機通過adeh面固定到所述相機支撐架上,使得所述雙目魚眼相機的兩個鏡頭關(guān)于其機身呈對稱設(shè)置,并保證上述兩個鏡頭的光軸位于同一水平線上;
s13、設(shè)置特殊線條組:在所述立方盒體的abfe、abcd和dcgh三個面上分別設(shè)置緊密排列的且與各自所在半透明亞克力玻璃面具有明顯色差的線條組,共三組線條組,其中abfe面上的線條組分別與abfe面的ae邊和bf邊平行,abcd面上的線條組分別與abcd面的ad邊和bc邊平行,dcgh面上的線條組分別與dcgh面的dh邊和cg邊平行,上述三組線條組的中間線條分別位于所在面的中心位置,且abfe面上的線條組與abcd面上的線條組以及abcd面上的線條組與dcgh面上的線條組分別相連;在所述立方盒體的abfe、bcgf和dcgh面上分別設(shè)置一根與所述立方盒體的中心位置等高的且與各自所在半透明亞克力玻璃面具有明顯色差的水平線條,共三根水平線條,其中abfe面上的水平線條與bcgf面上的水平線條以及bcgf面上的水平線條與dcgh面上的水平線條分別相連;
s2、獲取魚眼圖像拼接參數(shù):首先將所述雙目魚眼相機獲取的兩幅魚眼圖像展開為柱面全景圖,這樣兩幅魚眼圖像的拼接縫位于同一條線上,便于拼接參數(shù)的獲取,具體包括以下步驟:
s21、將所述的雙目魚眼相機放置所述立方盒體的正中心位置,使得所述雙目魚眼相機的兩個鏡頭分別朝向所述立方盒子的aedh面和bfgc面,獲取兩幅魚眼圖像,并提取兩幅魚眼圖像的有效區(qū)域,兩幅魚眼圖像的有效區(qū)域具體為一個正圓形區(qū)域;
s22、建立柱面校正模型,將上述兩幅魚眼圖像的有效區(qū)域映射到圓柱面上,獲取柱面圖一和柱面圖二,柱面圖一和柱面圖二分別包括有一條豎直線和三條水平線,記錄上述兩幅魚眼圖像中的像素點與柱面圖一和柱面圖二中像素點的對應(yīng)關(guān)系;
s23、將柱面圖一和柱面圖二上下對齊放置,所獲取的圖像中的兩條相鄰豎直線的距離為所述雙目魚眼相機的兩個鏡頭的旋轉(zhuǎn)偏移參數(shù),三條水平線的平均距離為所述雙目魚眼相機的兩個鏡頭的區(qū)域重疊參數(shù);
s3、通過所獲取的旋轉(zhuǎn)偏移參數(shù)和區(qū)域重疊參數(shù)生成魚眼圖像拼接查找表,具體包括以下內(nèi)容:
s31、將柱面圖一中的豎直線左右平移至與柱面圖二中的豎直線相對齊,記錄平移前后的像素點對應(yīng)關(guān)系;再將柱面圖一中的三條水平線上下平移至與柱面圖二中的三條水平線分別相重合,形成柱面全景圖,記錄柱面全景圖中的像素點與柱面圖一、二中的像素點的對應(yīng)關(guān)系;
s32、將柱面全景圖轉(zhuǎn)為球面全景圖,記錄柱面全景圖中的像素點與球面全景圖中的像素點的對應(yīng)關(guān)系;
s33、根據(jù)上述各步驟中記錄的像素點對應(yīng)關(guān)系,最終獲得球面全景圖與兩幅魚眼圖像之間的像素對應(yīng)關(guān)系,此即為魚眼圖像到拼接后圖像的位置映射查找表。
所述的基于固定拼接參數(shù)的快速雙目魚眼全景圖像拼接方法,其特征在于:所述立方盒體底部的四周分別具有支撐腳ei、fj、gk和hl,立方盒體的各條棱以及支撐腳ei、fj、gk和hl均為金屬桿。
本發(fā)明的有益效果:
1、本發(fā)明的硬件裝置自制簡單、易實現(xiàn),通過獲取旋轉(zhuǎn)偏移參數(shù)和重合度獲得拼接魚眼圖像的查找表,實現(xiàn)魚眼圖像到拼接后圖像的位置映射,從而實現(xiàn)雙目魚眼圖像的快速拼接。
2、本發(fā)明操作簡單,易于硬件實現(xiàn)。
3、本發(fā)明通過查找表,直接實現(xiàn)魚眼圖像和全景圖像的位置,無需中間計算過程,加快了拼接速度;同時,相較于特征點匹配方法,本發(fā)明提高了圖像的融合準確性和拼接質(zhì)量。
附圖說明
圖1為本發(fā)明實例的流程圖。
圖2為本發(fā)明實例的標定環(huán)境示意圖。
圖3左、右圖為本發(fā)明實例采集的標定環(huán)境的雙目魚眼圖像圖(a)、圖(b)。
圖4左、右圖為本發(fā)明實例對圖3圖像提取的有效區(qū)域圖像圖(a)、圖(b)。
圖5為本發(fā)明實例柱面校正模型示意圖。
圖6為本發(fā)明實例建立的柱面圖像坐標系示意圖。
圖7為本發(fā)明實例建立的魚眼圖像有效區(qū)域的坐標系示意圖。
圖8為本發(fā)明實例將圖3校正為柱面圖像后的圖像。
圖9為本發(fā)明實例將圖8中標定線對齊并融合后得到的圖像。
圖10為本發(fā)明實例柱面全景圖坐標系示意圖。
圖11為本發(fā)明實例球面全景圖坐標系示意圖。
圖12為本發(fā)明實例對圖3處理后最終得到的球面全景圖。
具體實施方式
下面結(jié)合發(fā)明實施例中的附圖,對本發(fā)明進一步說明。
一種基于固定拼接參數(shù)的快速雙目魚眼全景圖像拼接方法,具體包括以下步驟:
s1、設(shè)置魚眼全景圖像拼接參數(shù)獲取裝置:具體包括以下部分:設(shè)置硬件裝置主結(jié)構(gòu)、設(shè)置相機支撐架和相機、設(shè)置特殊線條;
s11、設(shè)置硬件裝置主結(jié)構(gòu):如圖2,選取一個立方盒體,立方盒體包括有abcd、aefb、dhgc、bfgc、adeh和efgh六個面,立方盒體底部的四周分別具有支撐腳ei、fj、gk和hl,其中立方盒體的各條棱以及支撐腳ei、fj、gk和hl均為金屬桿,abcd、aefb、dhgc和bfgc四個面均為半透明亞克力玻璃面,adeh面和efgh面為空;
s12、設(shè)置相機支撐架和相機:如圖2,首先選取一個可支持前后、上下活動的支架作為相機支撐架,并選取一個雙目魚眼相機,再將相機支撐架通過adeh面放置到立方盒體內(nèi),并固定到立方盒體的efgh面上;然后將雙目魚眼相機通過adeh面固定到相機支撐架上,使得雙目魚眼相機的兩個鏡頭關(guān)于其機身呈對稱設(shè)置,并保證上述兩個鏡頭的光軸位于同一水平線上;
s13、設(shè)置特殊線條組:在立方盒體的abfe、abcd和dcgh三個面上分別設(shè)置緊密排列的且與各自所在半透明亞克力玻璃面具有明顯色差的線條組,共三組線條組,其中abfe面上的線條組分別與abfe面的ae邊和bf邊平行,abcd面上的線條組分別與abcd面的ad邊和bc邊平行,dcgh面上的線條組分別與dcgh面的dh邊和cg邊平行,上述三組線條組的中間線條分別位于所在面的中心位置,且abfe面上的線條組與abcd面上的線條組以及abcd面上的線條組與dcgh面上的線條組分別相連;在立方盒體的abfe、bcgf和dcgh面上分別設(shè)置一根與立方盒體的中心位置等高的且與各自所在半透明亞克力玻璃面具有明顯色差的水平線條,共三根水平線條,其中abfe面上的水平線條與bcgf面上的水平線條以及bcgf面上的水平線條與dcgh面上的水平線條分別相連;
s2、獲取魚眼圖像拼接參數(shù):首先將雙目魚眼相機獲取的兩幅魚眼圖像展開為柱面全景圖,這樣兩幅魚眼圖像的拼接縫位于同一條線上,便于拼接參數(shù)的獲取,具體包括以下步驟:
s21、將雙目魚眼相機放置立方盒體的正中心位置,使得雙目魚眼相機的兩個鏡頭分別朝向立方盒子的aedh面和bfgc面,獲取兩幅魚眼圖像,如圖3,根據(jù)標定線的幾何關(guān)系,制作標準模板,用尺寸呈線性變化的動態(tài)模板,對獲取的兩幅魚眼圖像匹配,最佳匹配時記錄圓心和半徑,從而提取出兩幅魚眼圖像的有效區(qū)域,兩幅魚眼圖像的有效區(qū)域具體為一個正圓形區(qū)域,如圖4;
s22、根據(jù)論文《基于全景視覺的目標識別及圖像初態(tài)復原》建立柱面校正模型,將上述兩幅魚眼圖像的有效區(qū)域映射到圓柱面上,獲取柱面圖一和柱面圖二,柱面圖一和柱面圖二分別包括有一條豎直線和三條水平線,記錄上述兩幅魚眼圖像中的像素點與柱面圖一和柱面圖二中像素點的對應(yīng)關(guān)系;
建立如圖5的柱面校正模型,魚眼鏡頭與成像坐標系為oxyz,采用與成像面同半徑r的柱面作為視平面,將成像面的影像逆投影到柱面上,如像平面上某點q2,等距模型對應(yīng)到半徑為r的球面上點q1,作oq1的平行線并與柱面交會于點q,將oq與z軸的夾角α定義為入射角,oq與x軸的夾角β定義為水平方位角,q2到圓心的距離||oq2||為r,這樣就實現(xiàn)了魚眼影像上的q2點、物球面上的q1點、柱面上的q點的一一對應(yīng),具體推導過程如下:
第一步,如圖5,由于柱面與成像面同半徑,且與球面等高,由此可求出柱面的高度h1和寬度w1:
第二步,若將柱面分成w1×h1個點,并以左下角為原點建立如圖6的坐標系,那么柱面第u1行點入射角α:
第三步,柱面第v1列的水平方位角β:
第四步,由等距投影知:r=fα,其中f為焦距,由論文《等距投影的魚眼圖像畸變校正算法設(shè)計》知,當視場角度為π時,魚眼圖像剛好映射到整個半球面,于是魚眼圖像上的任一直徑映射到球面上即為經(jīng)過a點且連接半球直徑的圓弧,由周長公式可得:
第五步,對像平面建立如圖7的坐標系x1oy1,易知:
聯(lián)立(1)、(2)、(3)、(4)、(5)可得:
這樣就建立起了柱面上點(x1,y1)與魚眼影像上點(u1,v1)之間的映射關(guān)系;
s23、將柱面圖一和柱面圖二上下對齊放置,所獲取的圖像中的兩條相鄰豎直線oa與o’b的距離為雙目魚眼相機的兩個鏡頭的旋轉(zhuǎn)偏移參數(shù),三條水平線(即立方盒體中的豎直線條組)的平均距離為雙目魚眼相機的兩個鏡頭的區(qū)域重疊參數(shù);
在對魚眼相機進行固定時,難以保證兩個鏡頭對齊,可能存在著一定的旋轉(zhuǎn)偏移,需獲取旋轉(zhuǎn)偏移參數(shù),以對此偏移校正,在上述s22建立的圓柱校正模型中,將魚眼圖像的半徑映射到了柱面圖像的一條豎直線上,這樣理論上兩幅魚眼圖像同一位置的半徑在相應(yīng)的矩形柱面圖像上應(yīng)該是對齊的,故反推之,只需使矩形柱面圖像對齊,就可滿足魚眼圖像對齊,也即對鏡頭實現(xiàn)了校正,如圖8,兩幅由魚眼圖像校正得到的矩形柱面圖像中的豎直線存在明顯偏移,左右循環(huán)移動其中一幅圖像,使豎直線的位置對齊,便可校正了旋轉(zhuǎn)偏移,從而獲得旋轉(zhuǎn)偏移參數(shù)d;
由于雙目魚眼鏡頭視角大于180°,所以采集的魚眼圖像在邊緣部分有重疊區(qū)域,需獲取重疊區(qū)域參數(shù),以進一步對圖像融合,在上述s22建立的圓柱校正模型中,圖6魚眼圖像外邊緣圓周部分映射到了圖5矩形圖像底邊水平邊緣部分,需對邊緣部分的重疊區(qū)域校正,如圖7,上矩形柱面圖像的下邊緣有三條水平線,下矩形柱面圖像的上邊緣有三條水平線,通上下循環(huán)移動其中一幅圖像,使兩幅圖像的水平線重合,柱面圖像的三條水平線(即立方盒體中的豎直線條組)位置的平均距離即為區(qū)域重疊參數(shù)l。
s3、通過所獲取的旋轉(zhuǎn)偏移參數(shù)和區(qū)域重疊參數(shù)生成魚眼圖像拼接查找表(lut),具體包括以下內(nèi)容:
s31、將柱面圖一中的豎直線左右平移至與柱面圖二中的豎直線分別相對齊(即豎直線oa與o’b相對齊),記錄平移前后的像素點對應(yīng)關(guān)系;再將柱面圖一中的三條水平線(即立方盒體中的豎直線條組)上下平移至與柱面圖二中的三條水平線分別相重合,形成柱面全景圖,如圖9,記錄柱面全景圖中的像素點與柱面圖一、二中的像素點的對應(yīng)關(guān)系;
s32、將柱面全景圖轉(zhuǎn)為球面全景圖,記錄柱面全景圖中的像素點與球面全景圖中的像素點的對應(yīng)關(guān)系;
為了便于全景漫游,需對上述s31得到的柱面全景圖轉(zhuǎn)換為長為w2寬為h2的球面全景圖,其中w2=2*h2,具體推導過程如下:
第一步,若將球面全景圖分為w2×h2個點,并以左上角為原點建立如圖10的坐標系,那么球面上第u2行點入射角α:
第v2行點水平方位角β:
第二步,在如圖5的空間直角坐標系oxyz中,點q1(x,y,z)可以用球面坐標(r,α,β)表示:
第三步,如圖5對空間直角坐標系oxyz進行坐標變換,先沿z軸順時針旋轉(zhuǎn)90°,再沿x軸順時針旋轉(zhuǎn)90°,此時新坐標系為:
第四步,設(shè)q3到圓心o的距離為r,則
在新坐標系ox'y'z'中計算球面坐標的參數(shù)α'和β'分別為:
其中,α'為新坐標系下oq1與oy'軸正方向的夾角,β'為與oq1軸負方向的夾角,
第五步,若將柱面全景圖分為w3×h3個點,其中h3=2r-l,w3=2*h3,并以左上角為原點建立如圖11的坐標系,那么柱面全景圖中點(x2,y2)的坐標為:
聯(lián)立(7)、(8)、(9)、(10)、(11)、(12)、(13),就可建立起柱面全景圖坐標(x2,y2)與球面全景圖坐標(u2,v2)之間的對應(yīng)關(guān)系;
s33、根據(jù)上述各步驟中記錄的像素點對應(yīng)關(guān)系,最終獲得球面全景圖與兩幅魚眼圖像之間的像素對應(yīng)關(guān)系,此即為魚眼圖像到拼接后圖像的位置映射查找表。
這樣,對于新的輸入圖像,就可直接從查找表中找出最終球面全景圖中各個像素點對應(yīng)于兩張魚眼圖像中的像素位置,繼而映射獲得球面全景圖像,球面全景圖像是一張1:2的圖像,需使用專門的播放器實現(xiàn)球面全景漫游,猶如身臨其境,能夠獲得強烈的沉浸感。
應(yīng)當理解的是,以上實施例僅僅起到解釋本發(fā)明技術(shù)方案的作用,本發(fā)明所要求的保護范圍并不局限于上述實施例所述的實現(xiàn)方法和具體實施步驟。本領(lǐng)域的普通技術(shù)人員應(yīng)當理解,可以對發(fā)明的技術(shù)方案進行修改或者等同替換,而不脫離本發(fā)明方案的宗旨和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當中。