本發(fā)明涉及計(jì)算機(jī)圖形技術(shù)和全景圖像拼接技術(shù),特別涉及一種基于多通道圖像融合的全景圖像拼接方法。
背景技術(shù):
傳統(tǒng)的視頻監(jiān)控領(lǐng)域中,一般采用固定角度安裝的普通攝像機(jī)監(jiān)控指定范圍的小場(chǎng)景,但其視野有限,無法顧及周圍360度范圍內(nèi)的所有區(qū)域,即使使用帶有云臺(tái)的攝像機(jī),在某時(shí)刻也只能觀測(cè)一個(gè)角度的畫面,無法避免視頻盲區(qū)和觀測(cè)死角的出現(xiàn)。為了替換原來通過幾只攝像頭覆蓋一個(gè)區(qū)域,或者使用球機(jī)快速來回巡航掃描來實(shí)現(xiàn)場(chǎng)景覆蓋的方案,國內(nèi)外市場(chǎng)上陸續(xù)推出了拼接式的全景攝像機(jī)。
拼接式全景攝像機(jī)的成像過程是指將多個(gè)攝像頭按照空間位置關(guān)系,固定安裝在支架上,每個(gè)攝像頭可以獨(dú)立、高清地捕捉固定角度的圖像。全景圖像拼接技術(shù)是將不同相機(jī)在不同的時(shí)間、不同方向拍攝的圖像,拼接到同一坐標(biāo)系下進(jìn)行全景展示。圖像拼接中的過渡區(qū)域融合是拼接過程中的一大難題,如果處理不好,拼接效果將會(huì)大打折扣,多路圖像會(huì)因?yàn)榇嬖趨^(qū)域的重疊而產(chǎn)生拼縫現(xiàn)象。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述難題,本發(fā)明的目的在于提供一種基于多通道圖像融合的全景圖像拼接方法,該全景圖像拼接方法可以通過多通道圖像融合的方式平滑地消除拼縫現(xiàn)象,實(shí)現(xiàn)無縫全景拼接。
本發(fā)明提供一種基于多通道圖像融合的全景圖像拼接方法,其包括如下步驟:
(a)通過拼接式全景攝像機(jī)獲取多路rgb三通道圖像;
(b)為每一路rgb三通道圖像添加一alpha通道,得到多路rgba四通道圖像;
(c)通過計(jì)算機(jī)圖形學(xué)方法對(duì)多路rgba四通道圖像進(jìn)行圖像融合,實(shí)現(xiàn)球體全景拼接。
步驟(a)為通過拼接式全景攝像機(jī)采集不同相機(jī)在同一時(shí)刻不同方向上拍攝的視頻流,并且通過計(jì)算機(jī)解碼技術(shù)對(duì)該采集的視頻流進(jìn)行解碼而獲取多路rgb三通道圖像。
步驟(b)具體包括以下步驟:
(b1)尋找多路rgb三通道圖像之間的重疊區(qū)域,對(duì)應(yīng)構(gòu)造多路alpha通道圖像;
(b2)將rgb三通道圖像分解成r通道圖像、g通道圖像以及b通道圖像,再將r通道圖像、g通道圖像以及b通道圖像與對(duì)應(yīng)的alpha通道圖像合成,得到多路rgba四通道圖像。
所述步驟(b1)具體為:
首先,采用特征匹配法獲取多路rgb三通道圖像之間的特征關(guān)系,采用動(dòng)態(tài)規(guī)劃法依據(jù)相似性準(zhǔn)則找出符合最有條件的縫合線,即為多路rgb三通道圖像之間的重疊區(qū)域;
然后,構(gòu)造與rgb三通道圖像大小相同的alpha通道圖像,并將非重疊區(qū)域的alpha通道圖像的數(shù)值設(shè)為255;
最后,設(shè)定所述重疊區(qū)域的alpha通道圖像的數(shù)值,該重疊區(qū)域的alpha通道的數(shù)值采取255-0漸變。
步驟(c)具體包括以下步驟:
(c1)將球體進(jìn)行拆分,并對(duì)拆分后的區(qū)域進(jìn)行三角型網(wǎng)格劃分,得到包括多個(gè)三角分塊的三角型網(wǎng)格模型;
(c2)獲取多路四通道rgba圖像與所述三角型網(wǎng)格模型的映射關(guān)系;
(c3)利用所述映射關(guān)系將多路rgba四通道圖像的紋理坐標(biāo)與所述三角型網(wǎng)格模型的空間頂點(diǎn)坐標(biāo)進(jìn)行實(shí)時(shí)對(duì)應(yīng),并通過opengl圖形處理技術(shù)將所述三角型網(wǎng)格模型中的表面紋理替換為所述rgba四通道圖像的動(dòng)態(tài)紋理以實(shí)現(xiàn)全景圖像的無縫拼接。
所述步驟(c1)具體為:采用自由網(wǎng)格劃分方式對(duì)所述球體拆分后的區(qū)域進(jìn)行 三角型網(wǎng)格劃分。
所述步驟(c2)具體為:
首先,根據(jù)所述多路rgb三通道圖像之間的特征關(guān)系獲取多路rgb三通道圖像之間的鄰域關(guān)系;
然后,多路rgb三通道圖像之間的鄰域關(guān)系將多路rgb三通道圖像合成一平面圖,并將該平面圖首尾相連形成一柱面圖,該柱面圖對(duì)應(yīng)一圓柱體;
最后,構(gòu)造與該圓柱體的柱面相切的球體,將柱面圖上的圖像點(diǎn)投影到球體的球面上,從而獲取多路四通道rgba圖像與球面網(wǎng)格模型之間的映射關(guān)系。
所述步驟(c3)具體為:根據(jù)多路四通道rgba圖像與球面網(wǎng)格模型之間的映射關(guān)系,獲取三角形網(wǎng)格模型的空間頂點(diǎn)坐標(biāo)以及對(duì)應(yīng)的多路rgba四通道圖像的紋理坐標(biāo),并根據(jù)所述三角形網(wǎng)格模型的空間頂點(diǎn)坐標(biāo)與rgba四通道圖像的紋理坐標(biāo)進(jìn)行opengl紋理貼圖,從而實(shí)現(xiàn)繪制全景圖像。
在步驟(c)之后還包括一添加手勢(shì)操作,實(shí)現(xiàn)交互式體驗(yàn)的步驟。
所述手勢(shì)操作具體包括單指模式、雙指模式以及單雙指共用模式。
相較于現(xiàn)有技術(shù),本方法具有以下優(yōu)點(diǎn):第一,可將不同相機(jī)在同一時(shí)刻不同方向拍攝的圖像,拼接到同一坐標(biāo)系下,并且通過為每一路rgb三通道圖像添加alpha通道得到多路rgba四通道圖像,再對(duì)rgba四通道圖像進(jìn)行融合,從而消除傳統(tǒng)拼接技術(shù)造成的拼縫現(xiàn)象。第二,該拼接方法可以與拼接式全景攝像機(jī)相結(jié)合,實(shí)現(xiàn)無縫拼接的全景視頻監(jiān)控,最后通過柱面、球面等圖形渲染技術(shù),展示具有高度沉浸感的全景視頻圖像,且成像清晰。
附圖說明
圖1是本發(fā)明所述基于多通道圖像融合的全景圖像拼接方法的流程圖。
圖2為本發(fā)明所述rgb三通道圖像轉(zhuǎn)為rgba四通道圖像的示意圖。
圖3為本發(fā)明步驟(c2)中所示圓柱面與球面之間的坐標(biāo)投影示意圖。
圖4為本發(fā)明所述實(shí)施例得到的全景拼接示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施方式中的附圖,對(duì)本發(fā)明實(shí)施方式中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施方式僅僅是本發(fā)明一部分實(shí)施方式, 而不是全部的實(shí)施方式。基于本發(fā)明中的實(shí)施方式,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施方式,都屬于本發(fā)明保護(hù)的范圍。
請(qǐng)參閱圖1,本發(fā)明提供了一種基于多通道圖像融合的全景圖像拼接方法。該方法包括如下步驟:
(a)通過拼接式全景攝像機(jī)獲取多路rgb三通道圖像;
(b)為每一路rgb圖像添加alpha通道,合成多路rgba四通道圖像;
(c)通過計(jì)算機(jī)圖形學(xué)方法對(duì)多路rgba圖像進(jìn)行圖像融合,完成球體全景拼接。
在步驟(a)中,通過拼接式全景攝像機(jī)采集不同相機(jī)在同一時(shí)刻不同方向上拍攝的視頻流,并且通過計(jì)算機(jī)解碼技術(shù)對(duì)該采集的視頻流進(jìn)行解碼而獲取多路rgb三通道圖像。
在步驟(b)中,在所述rgb三通道圖像的基礎(chǔ)上添加了alpha通道圖像,將圖像裁剪成球體全景拼接過程中所需的區(qū)域形狀,裁剪的邊緣區(qū)通常作為圖像拼接的重疊區(qū)。所述的alpha通道(即不透明度參數(shù))使得rgb三通道圖像具有豐富的色彩層次,用于合成及融合。請(qǐng)參閱圖2,步驟(b)具體包括以下步驟:
(b1)尋找多路rgb三通道圖像之間的重疊區(qū)域,對(duì)應(yīng)構(gòu)造多路alpha通道圖像;
(b2)將rgb三通道圖像分解成r通道圖像、g通道圖像以及b通道圖像,再將r通道圖像、g通道圖像以及b通道圖像與對(duì)應(yīng)的alpha通道圖像合成,得到多路rgba四通道圖像。
所述步驟(b1)具體包括:首先,采用特征匹配法獲取多路rgb三通道圖像之間的特征關(guān)系,采用動(dòng)態(tài)規(guī)劃法依據(jù)相似性準(zhǔn)則找出符合最有條件的縫合線,即為多路rgb三通道圖像之間的重疊區(qū)域。然后,構(gòu)造與rgb三通道圖像大小相同的alpha通道圖像。該alpha通道圖圖像是單通道圖像,數(shù)值范圍在0-255之間,數(shù)值0代表完全透明,數(shù)值255代表完全不透明。并將非重疊區(qū)域的alpha通道圖像的數(shù)值設(shè)為255。最后,設(shè)定所述重疊區(qū)域的alpha通道圖像的數(shù)值,該重疊區(qū)域的alpha通道的數(shù)值采取255-0漸變。該alpha通道的數(shù)值采用255-0漸變即代表該重疊區(qū)域的透明度的漸變過程。
在步驟(b2)中,可通過opencv圖像處理技術(shù)將rgb三通道圖像進(jìn)行通道分 割,再將分割后得到的r通道圖像、g通道圖像以及b通道圖像與alpha通道圖像結(jié)合,而得到具有透明度的rgba四通道圖像。
在步驟(c)中,對(duì)步驟(b)中合成的多路rgba四通道圖像進(jìn)行球體拼接,保證所述重疊區(qū)域圖像的alpha通道的和值為255,從而實(shí)現(xiàn)多通道圖像融合技術(shù),并消除融合過程中重疊區(qū)域的重影現(xiàn)象。主要包括為:
(c1)將球體進(jìn)行拆分,并對(duì)拆分后的區(qū)域進(jìn)行三角型網(wǎng)格劃分,得到包括多個(gè)三角分塊的三角型網(wǎng)格模型;
(c2)獲取多路rgba四通道圖像與所述三角型網(wǎng)格模型的映射關(guān)系;
(c3)利用所述映射關(guān)系將rgba四通道動(dòng)態(tài)圖像紋理與所述三角型網(wǎng)格模型的空間頂點(diǎn)進(jìn)行實(shí)時(shí)對(duì)應(yīng),并通過opengl圖形處理技術(shù)將所述三角型網(wǎng)格模型中的表面紋理替換為所述rgba四通道動(dòng)態(tài)圖像紋理,以實(shí)現(xiàn)全景圖像的無縫拼接。
所述步驟(c1)具體為:采用自由網(wǎng)格劃分方式對(duì)所述球體拆分后的區(qū)域進(jìn)行三角型網(wǎng)格劃分。
請(qǐng)參閱圖3,所述步驟(c2)具體包括:首先,根據(jù)步驟(b1)中所述多路rgb三通道圖像之間的特征關(guān)系獲取多路rgb三通道圖像之間的鄰域關(guān)系。然后,根據(jù)多路rgb三通道圖像之間的鄰域關(guān)系將多路rgb三通道圖像合成一張大的平面圖,并將該平面圖首尾相連形成一柱面圖,該柱面圖對(duì)應(yīng)一圓柱體。最后,構(gòu)造與該圓柱體的柱面相切的球體,將柱面圖上的圖像點(diǎn)投影到球體的球面上,從而獲取多路四通道rgba圖像與三角型網(wǎng)格模型之間的映射關(guān)系,即為所述多路四通道rgba圖像與球面網(wǎng)格模型之間的映射關(guān)系。
所述步驟(c3)具體為:根據(jù)多路四通道rgba圖像與球面網(wǎng)格模型之間的映射關(guān)系,獲取三角形網(wǎng)格模型的空間頂點(diǎn)坐標(biāo)以及對(duì)應(yīng)的多路rgba四通道圖像的紋理坐標(biāo),并根據(jù)所述三角形網(wǎng)格模型的空間頂點(diǎn)坐標(biāo)與rgba四通道圖像的紋理坐標(biāo)進(jìn)行opengl紋理貼圖,從而實(shí)現(xiàn)繪制全景圖像。
相較于現(xiàn)有技術(shù),本方法具有以下優(yōu)點(diǎn):第一,可將不同相機(jī)在同一時(shí)刻不同方向拍攝的圖像,拼接到同一坐標(biāo)系下,并且通過為每一路rgb三通道圖像添加alpha通道得到多路rgba四通道圖像,再對(duì)rgba四通道圖像進(jìn)行融合,從而消除傳統(tǒng)拼接技術(shù)造成的拼縫現(xiàn)象。第二,該拼接方法可以與拼接式全景攝像機(jī)相結(jié)合,實(shí)現(xiàn)無縫拼接的全景視頻監(jiān)控,最后通過柱面、球面等圖形渲 染技術(shù),展示具有高度沉浸感的全景視頻圖像,且成像清晰。
下面結(jié)合具體實(shí)施例對(duì)本申請(qǐng)?zhí)岢龅囊环N基于多通道圖像融合的全景圖像拼接方法進(jìn)行說明:
實(shí)施例
所述基于多通道圖像融合的全景圖像拼接方法可與拼接式全景相機(jī)相結(jié)合,實(shí)現(xiàn)全景視頻的播放。具體以android端的全景圖像拼接為例。該全景圖像拼接方法包括如下步驟:
(a)通過拼接式全景攝像機(jī)獲取多路rgb三通道圖像;
(b)android調(diào)用opencv為每一路rgb圖像添加alpha通道,合成多路rgba四通道圖像;
(c)在android平臺(tái)上通過opengles來對(duì)多路rgba圖像進(jìn)行圖像融合和紋理貼圖,完成球體全景拼接;
(d)添加手勢(shì)操作,以實(shí)現(xiàn)交互式體驗(yàn)。
在步驟(a)中,對(duì)全景攝像機(jī)采集的同步后的多路h.264視頻流,跨平臺(tái)調(diào)用ffmpeg進(jìn)行解碼,并且輸出rgb三通道圖像。
在步驟(b)中,跨平臺(tái)調(diào)用opencv圖像處理函數(shù)實(shí)現(xiàn)android平臺(tái)上的rgba四通道圖像的合成。
在步驟(c)中,通過多路rgba四通道圖像的紋理坐標(biāo)與三角形網(wǎng)格模型的空間頂點(diǎn)坐標(biāo)之間的映射關(guān)系來實(shí)現(xiàn)android平臺(tái)上的球體紋理貼圖,完成無縫全景拼接。
在步驟(d)中,通過添加了手勢(shì)操作,增強(qiáng)用戶與全景圖像之間的交互體驗(yàn)感。手勢(shì)操作具體如下。
(1)單指模式:通過單指進(jìn)行水平方向拖動(dòng),可以使球體全景視頻圍繞z軸方向進(jìn)行360度旋轉(zhuǎn),用于觀察水平360度全景影像信息;通過單指進(jìn)行豎直方向拖動(dòng),可以使球體全景視頻圍繞x軸方向進(jìn)行180度旋轉(zhuǎn),用于觀察垂直180度的全景影像信息。
(2)雙指模式:通過雙指在屏幕間的伸張閉合,控制兩指間的距離,進(jìn)而使球體全景視頻進(jìn)行縮小放大,伸縮倍數(shù)為8倍左右。
(3)單雙指共用模式:請(qǐng)參閱圖4,通過單雙指交叉使用,可以實(shí)現(xiàn)全景視頻 任意區(qū)域的放大縮小,做到360度無死角特顯。
以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也視為本發(fā)明的保護(hù)范圍。