本發明涉及圖像處理領域,尤其涉及一種獲取全景圖像的方法及裝置。
背景技術:
魚眼鏡頭是模擬水下魚類仰視水面效果的一種超廣角鏡頭,其典型視場角為180°,還有的超過180°、大于220°,甚至達到270°。魚眼鏡頭的好處很多:視角大,可容納場景多,且可以適應狹小空間拍攝,因此在虛實景技術、機器人導航、視覺監控等許多計算機視覺領域中被廣泛應用。
由于魚眼鏡頭拍攝的圖像視角較大,因此拼接成360°的全景圖像只需要魚眼鏡頭拍攝2-3張圖像即可,因此,在全景內容制作,例如全景虛擬現實VR(Virtual Reality)視頻制作中,魚眼鏡頭得到了越來越多的使用。但是,采用魚眼鏡頭拍攝的圖像由于視角超廣,因此其桶形彎曲畸變非常大,畫面周邊的成像呈現嚴重變形,直線彎曲,只有鏡頭中心部分的內容可以保持原來的狀態。所以這類魚眼圖像雖能夠包含較多的場景信息,但卻不能顯示重要的細節問題,因此使用這些畸變魚眼圖像進行全景圖像拼接時需要進行畸變校正處理。
目前在利用魚眼鏡頭圖像進行全景圖像拼接時,圖片處理軟件一般都是在平面坐標系下根據待拼接圖像估計魚眼鏡頭參數,然后建立模型進行矯正拼接獲取平面的全景圖像,最后把拼接后的平面的全景圖像進行球面映射即將平面的全景圖像貼在球上進行全景顯示。由于相機鏡頭參數估計的不準確性,導致平面坐標系下存在的畸形很難被矯正,從而后面拼接融合后的圖像有接縫拼不上的情況,拼接精度較低,拼接的圖像效果會受到很大影響。
技術實現要素:
本發明實施例提供一種獲取全景圖像的方法及裝置,用以提高魚眼鏡頭全景圖像的拼接精度。
本發明方法包括一種獲取全景圖像的方法,該方法包括:
利用雙魚眼鏡頭拍攝得到兩幅魚眼圖像,其中,所述雙魚眼鏡頭為背對設置的兩個鏡頭,且兩個鏡頭的視場角之和大于等于360度;
將所述兩幅魚眼圖像從平面坐標系映射到各自的球面模型中;
從映射后的每個魚眼圖像中提取特征點,并將提取到的特征點進行匹配得到特征點匹配對;
利用所述特征點匹配對確定映射后的兩幅魚眼圖像之間的變換矩陣;
利用所述變換矩陣將映射后的兩幅魚眼圖像轉換到同一個球面模型中;
將同一個球面模型中的兩幅魚眼圖像進行拼接,獲取拼接后的球面全景圖像。
進一步地,所述雙魚眼鏡頭包括第一魚眼鏡頭和第二魚眼鏡頭;
所述兩幅魚眼圖像包括所述第一魚眼鏡頭拍攝得到的第一魚眼圖像,所述第二魚眼鏡頭拍攝得到的第二魚眼圖像;
將所述兩幅魚眼圖像從平面坐標系映射到各自的球面模型中之前,還包括:
利用種子生長法對所述兩幅魚眼圖像進行掃描,確定所述第一魚眼圖像和所述第二魚眼圖像的有效圓形區域;
所述將所述兩幅魚眼圖像從平面坐標系映射到各自的球面模型中,包括:
根據平面坐標系與球面坐標系之間的映射關系,將所述第一魚眼圖像的有效圓形區域從平面坐標系映射到第一球面模型中,并所述第二魚眼圖像的有效圓形區域從平面坐標系映射到第二球面模型中。
進一步地,所述從映射后的每個魚眼圖像中提取特征點,包括:
構建Hessian矩陣,基于Hessian矩陣行列式的判別式det(H)取值的符號確定出H(f(x,y))處的極值點和極值點的坐標,其中,(x,y)為魚眼圖像的像素點的坐標;
所述將提取到的特征點進行匹配得到特征點匹配對,包括:
利用最近鄰匹配法判定當一對極值點的歐氏距離小于設定閾值時,將該對極值點作為一組特征點匹配對。
進一步地,所述利用所述特征點匹配對確定映射后的兩幅魚眼圖像之間的變換矩陣,包括:
根據確定出來的多個特征點匹配對的坐標,按照公式一進行求解,得到所述兩幅魚眼圖像之間的變換矩陣;
所述公式一為:
其中,(x,y,z)、(x’,y’,z’)為每組特征點匹配對的球面坐標,為待求解的變換矩陣。
進一步地,所述將同一個球面模型中的兩幅魚眼圖像進行拼接,獲取拼接后的球面全景圖像,包括:
用K-D樹搜索同一個球面模型中的兩幅魚眼圖像的最近鄰和次近鄰距離,并將搜素得到的距離作為權重,采用加權平均的方法對所述兩幅圖像的特征點進行配準,從而實現對兩幅魚眼圖像進行拼接,得到拼接后的球面全景圖像。
進一步地,在所述獲取拼接后的球面全景圖像后,所述方法還包括:根據獲取的球面全景圖像,進行虛擬現實VR顯示。
基于同樣的發明構思,本發明實施例進一步地提供一種獲取全景圖像的裝置,該裝置包括:
拍攝單元,用于利用雙魚眼鏡頭拍攝得到兩幅魚眼圖像,其中,所述雙魚眼鏡頭為背對設置的兩個鏡頭,且兩個鏡頭的視場角之和大于等于360度;
映射單元,用于將所述兩幅魚眼圖像從平面坐標系映射到各自的球面模型中
提取單元,用于從映射后的每個魚眼圖像中提取特征點;
匹配單元,用于并將提取到的特征點進行匹配得到特征點匹配對;
運算單元,用于利用所述特征點匹配對確定映射后的兩幅魚眼圖像之間的變換矩陣;
轉換單元,用于利用所述變換矩陣將映射后的兩幅魚眼圖像轉換到同一個球面模型中;
拼接單元,用于將同一個球面模型中的兩幅魚眼圖像進行拼接,獲取拼接后的球面全景圖像。
進一步地,所述雙魚眼鏡頭包括第一魚眼鏡頭和第二魚眼鏡頭;
所述兩幅魚眼圖像包括所述第一魚眼鏡頭拍攝得到的第一魚眼圖像,所述第二魚眼鏡頭拍攝得到的第二魚眼圖像;
所述裝置還包括:
掃描單元,用于利用種子生長法對所述兩幅魚眼圖像進行掃描,確定所述第一魚眼圖像和所述第二魚眼圖像的有效圓形區域;
所述映射單元具體用于:根據平面坐標系與球面坐標系之間的映射關系,將所述第一魚眼圖像的有效圓形區域從平面坐標系映射到第一球面模型中,并所述第二魚眼圖像的有效圓形區域從平面坐標系映射到第二球面模型中。
進一步地,所述提取單元具體用于:
構建Hessian矩陣,基于Hessian矩陣行列式的判別式det(H)取值的符號確定出H(f(x,y))處的極值點和極值點的坐標,其中,(x,y)為魚眼圖像的像素點的坐標;
所述匹配單元具體用于:利用最近鄰匹配法判定當一對極值點的歐氏距離小于設定閾值時,將該對極值點作為一組特征點匹配對。
進一步地,所述運算單元具體用于:
根據確定出來的多個特征點匹配對的坐標,按照公式一進行求解,得到所述兩幅魚眼圖像之間的變換矩陣;
所述公式一為:
其中,(x,y,z)、(x’,y’,z’)為每組特征點匹配對的球面坐標,為待求解的變換矩陣。
進一步地,所述拼接單元具體用于:用K-D樹搜索同一個球面模型中的兩幅魚眼圖像的最近鄰和次近鄰距離,并將搜素得到的距離作為權重,采用加權平均的方法對所述兩幅圖像的特征點進行配準,從而實現對兩幅魚眼圖像進行拼接,得到拼接后的球面全景圖像。
進一步地,顯示單元,用于根據獲取的球面全景圖像,進行虛擬現實VR顯示。
一方面,本發明實施例提供一種電子設備,包括:至少一個處理器;以及,
與所述至少一個處理器通信連接的存儲器;其中,
所述存儲器存儲有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠執行如下方法:
針對利用雙魚眼鏡頭拍攝得到兩幅魚眼圖像,其中,所述雙魚眼鏡頭為背對設置的兩個鏡頭,且兩個鏡頭的視場角之和大于等于360度;
將所述兩幅魚眼圖像從平面坐標系映射到各自的球面模型中;
從映射后的每個魚眼圖像中提取特征點,并將提取到的特征點進行匹配得到特征點匹配對;
利用所述特征點匹配對確定映射后的兩幅魚眼圖像之間的變換矩陣;
利用所述變換矩陣將映射后的兩幅魚眼圖像轉換到同一個球面模型中;
將同一個球面模型中的兩幅魚眼圖像進行拼接,獲取拼接后的球面全景圖像。
另一方面,本發明實施例提供一種非暫態計算機可讀存儲介質,所述非暫態計算機可讀存儲介質存儲計算機指令,所述計算機指令用于使所述計算機執行上述任一項所述的獲取全景圖像的方法。
再一方面,本發明實施例提供一種計算機程序產品,所述計算機程序產品包括存儲在非暫態計算機可讀存儲介質上的計算程序,所述計算機程序包括程序指令,當所述程序指令被計算機執行時,使所述計算機執行上述任一項所述的獲取全景圖像的方法。
本發明實施例提供的獲取全景圖像的方法及裝置、電子設備、計算機可讀存儲介質,通過將魚眼圖像從平面坐標系直接映射到球面模型,再進行拼接,能夠有效校正魚眼圖像產生的徑向畸變,使魚眼圖像映射到自身所在單位球面上的映射的相對位置得到校正,邊緣區域的變形得到有效的校正。另外,通過在單位球面上的配準,使得球面上的絕對位置得到有效的配準,因此圖像重合區域中匹配的圖像點間的拼接誤差大幅度減小,因此使得全景圖像中由匹配點間的拼接誤差引起的重影、錯位、模糊等問題也相應得到了解決。本發明實施例提供的圖像拼接方法得到的全景圖像中完全沒有空白圖像區域,重疊區域圖像誤差小,因此圖像拼接精度得到大幅提高。
附圖說明
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域的普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例提供的一種獲取全景圖像的方法流程示意圖;
圖2為本發明實施例提供的一種魚眼圖像在平面上的直角坐標系示意圖;
圖3為本發明實施例提供的一種平面坐標系與球面坐標系的映射示意圖;
圖4為本發明實施例提供的圖像融合區域示意圖;
圖5為本發明實施例提供的一種獲取全景圖像的裝置結構示意圖;
圖6為本發明實施例提供的一種電子設備結構示意圖。
具體實施方式
為了使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明作進一步地詳細描述,顯然,所描述的實施例僅僅是本發明一部份實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。
魚眼鏡頭是一種焦距為16mm或者更短,并且視角接近或等于180°的鏡頭,雙魚眼鏡頭具有兩個鏡頭,且兩個鏡頭前后對稱,通常一次可以拍攝得到兩幅魚眼圖像,理論上只要兩幅魚眼圖像就可以通過拼接獲得雙魚眼鏡頭周圍的景物信息。但同時由于魚眼圖像會在邊緣產生扭曲,直接將兩幅魚眼圖像進行拼接可能會產生較大誤差。因此,本發明實施例提供一種獲取全景圖像的方法,可以實現將雙魚眼鏡頭的兩幅魚眼圖像處理后進行拼接,使得得到的球面全景圖像精度較高。
參見圖1所示,本發明實施例提供一種獲取全景圖像的方法流程示意圖,具體地實現方法包括:
步驟S101,利用雙魚眼鏡頭拍攝得到兩幅魚眼圖像,其中,所述雙魚眼鏡頭為背對設置的兩個鏡頭,且兩個鏡頭的視場角之和大于等于360度。
步驟S102,將所述兩幅魚眼圖像從平面坐標系映射到各自的球面模型中。
步驟S103,從映射后的每個魚眼圖像中提取特征點,并將提取到的特征點進行匹配得到特征點匹配對。
步驟S104,利用所述特征點匹配對確定映射后的兩幅魚眼圖像之間的變換矩陣。
步驟S105,利用所述變換矩陣將映射后的兩幅魚眼圖像轉換到同一個球面模型中。
步驟S106,將同一個球面模型中的兩幅魚眼圖像進行拼接,獲取拼接后的球面全景圖像。
其中,所述雙魚眼鏡頭包括第一魚眼鏡頭和第二魚眼鏡頭;所述兩幅魚眼圖像包括所述第一魚眼鏡頭拍攝得到的第一魚眼圖像,所述第二魚眼鏡頭拍攝得到的第二魚眼圖像,在執行步驟S101之前,還需要利用種子生長法對所述兩幅魚眼圖像進行一次掃描,得到每幅魚眼圖像的有效圓形區域。具體地,根據魚眼圖像的特征,使用種子生長法,求得魚眼有效圓形區域,為映射到球面做準備。
其中,種子生長法是指通過指定一個原始點即所謂的種子,圓形區域即為一個像素,然后通過區域生長的方法,把跟種子具有一定閾值范圍內的像素歸入圓形區域,這樣不斷的擴大圓形區域,完成圓形區域的尋找。傳統的區域生長法都是使用兩次掃描完成,本算法是一次掃描全圖完成,有效的提高了運算速度。算法核心代碼如下:
由于每一款雙魚眼鏡頭的有效魚眼區域是固定的,因此通過一次掃描查找,將查到到坐標記錄下來,后續的就不需要再進行種子生長。
按照上述算法得到兩幅魚眼圖像的有效區域之后,就可以將魚眼圖像從平面坐標系映射到球面坐標系,主要是利用了平面坐標系與球面坐標系的映射關系,其中,雙魚眼鏡頭拍攝得到的魚眼圖像一般為平面圖像,魚眼圖像對應的直角坐標系如圖2所示,其中,圖2中半徑R和魚眼圖像拍攝的最大角度α表示方式如下:
其中,平面坐標系到球面坐標系的映射方式如圖3所示,球面坐標(x,y,z)與角度α和角度θ的關系公式3所示。
基于上述映射關系,把雙魚眼鏡頭拍攝得到的兩幅魚眼圖像分別從平面坐標系映射到各自的球面模型中。具體地,根據平面坐標系與球面坐標系之間的映射關系,將雙魚眼鏡頭的第一魚眼鏡頭拍攝得到的第一魚眼圖像的有效圓形區域從平面坐標系映射到第一球面模型中,并將雙魚眼鏡頭的的第二魚眼鏡頭拍攝得到的第二魚眼圖像的有效圓形區域從平面坐標系映射到第二球面模型中。
當完成上述映射之后,需要從映射后的每個魚眼圖像中提取特征點,提取方法是首先構建Hessian矩陣,基于Hessian矩陣行列式的判別式det(H)取值的符號確定出H(f(x,y))處的極值點和極值點的坐標,其中,(x,y)為魚眼圖像的像素點的坐標。
一般來說,根據圖像特征點計算出的不同特性,可以將圖像特征點分為角點,高曲率點,線段末端,邊緣輪廓,閉合區域,重心等。這些類型的像素點能夠在圖像亮度,尺度,旋轉等因素的影響下,盡可能保持不變性。對于一幅圖像中的某個像素點,能在不同條件下重復檢測出,說明這一特征點具有顯著性,獨特性好的優點,則在后續圖像配準和拼接的過程中能提高圖像拼接的效率和拼接精確度。本發明實施例主要是利用判別式的值是Hessian矩陣的特征值,可以利用判定結果的符號將所有點分類,根據判別式det(H)的取值正負,來判別該像素點是或不是極值點,當判別式的值為負時,則證明該點是極值點,一般極值點也是角點,記錄該極值點的坐標。
進一步地,將提取到的特征點進行匹配得到特征點匹配對,具體地,利用最近鄰匹配法判定當一對極值點的歐氏距離小于設定閾值時,將該對極值點作為一組特征點匹配對。
具體步驟為:對第一魚眼圖像的有效區域中的每個特征點,以第二魚眼圖像的有效區域中的特征點集為搜索空間,以特征向量間的歐式距離為相似性度量,在搜索空間內搜索與其距離最小的特征點,作為其匹配點,組成匹配對。得到兩幅圖像的特征點匹配對集φ={Xi,i=1,2,...,N},其中Xi為第i對特征點匹配對,N為匹配對個數。
進一步地,為了使基于特征點匹配對所進行的圖像配準更為準確,需要對特征點匹配對進行篩選,排除錯誤的匹配對,篩選算法的具體步驟包括:
步驟a,初始化選擇匹配對集S為空集,即S=φ;
步驟b,選取最小采樣集,從匹配對集φ中隨機選取K個最小采樣集{C1,C2,...,CK},其中每個最小采樣集包括4個特征點匹配對,這是因為在計算變換矩陣時至少需要4個特征點匹配對。計算每個最小采樣集對應的單應矩陣,得到K個單應矩陣集{T1,T2,…,TK},其中Tk表示第k個最小采樣集對應的單應矩陣,k=1,2,…,K。
本發明實施例中所采用的隨機選取最小采樣集的策略為:在匹配對集φ隨機選取一個特征點匹配對Xi作為最小采樣集中的第一個匹配對,以匹配對Xi中一個特征點為中心、預設邊長的矩形范圍作為鄰域范圍,在同屬一幅圖像特征點落入該鄰域范圍內的匹配對中隨機和選取3個特征點匹配對,構成一個最小采樣集。K的大小和鄰域范圍的邊長可以根據需要進行設置,本發明實施例中K=500,邊長為50。
步驟c,計算殘差向量,即計算匹配對集φ中每個匹配對Xi與單應矩陣集{T1,T2,…,TK}中每個單應矩陣的殘差,每個匹配對Xi對應的K個殘差組成一個殘差向量di=[di1di2...diK],其中dik表示匹配對Xi與單應矩陣Hk的殘差。
步驟d,計算相似度:對于匹配對集φ中所有匹配對兩兩計算相似度,任意兩個匹配對Xi和Xj的相似度f(Xi,Xj)的計算公式為:
其中,其中,Xi屬于φ,Xj屬于φ,Xi不等于Xj,的定義為
其中,dik表示匹配對Xi與單應矩陣Tk的殘差,djk為匹配對Xj與單應矩陣Tk的殘差,ξ為預設的殘差閾值,可以根據實際需要進行設置,經實驗得到ξ較優的取值范圍為3≤ξ≤8,本實施例中設置ξ=5。
步驟e,選擇匹配對:計算匹配對集φ中的每個匹配對Xi與其他所有匹配對的相似度f(Xi,Xj)之和F(Xi)=Σjf(Xi,Xj),選擇F(Xi)最大的匹配對Xi′作為本次篩選的關鍵匹配對,計算匹配對Xi′與其他匹配對相似度f(Xi′,Xj)的平均值篩選f(Xi′,Xj)>favg的匹配對,與關鍵匹配對Xi′一起構成匹配對集S′,將匹配對集S′加入選擇匹配對集S中,即令S=S+S′,并從匹配對集φ中刪除這些匹配對,即令φ=φ-S′。
步驟f,判斷是否|S′|<τ|||φ|<τ,其中|S′|表示本次篩選匹配對集S′匹配對數量,|φ|表示匹配對集φ中匹配對數量,τ表示預設數量閾值。也就是說,判斷是否本次篩選的匹配對數量或本次篩選剩下的匹配對數量小于τ,當任意一項小于τ,則結束篩選,否則返回步驟b。
進一步地,當求得特征點匹配對之后,根據確定出來的多個特征點匹配對的坐標按照如下公式進行求解,得到所述兩幅魚眼圖像的變換矩陣;
其中,(x,y,z)、(x’,y’,z’)和為每組特征點匹配對的球面坐標,為待求解的變換矩陣。
變換矩陣的主要目的就是根據配準后的圖像根據匹配的特征點對的位置關系,計算圖像之間的變換矩陣,將兩幅圖像投影到一個成像上,也就是說,根據上述步驟c篩選得到的選擇匹配對集S中的匹配對來計算兩幅待拼接圖像的變換矩陣,利用變換矩陣將兩幅待拼接圖像變換至同一坐標系。變換矩陣具有9個參數,歸一化后,變換模型公式6,在求解變換矩陣時,主要利用重復區域特征點匹配對。根據變換矩陣將兩幅圖像轉換到同一個圖像上,形成可以圖像拼接的條件。
進一步地,用K-D樹搜索同一個球面模型中的兩幅魚眼圖像的最近鄰和次近鄰距離,并將搜素得到的距離作為權重,采用加權平均的方法對所述兩幅圖像的特征點進行配準,從而實現對兩幅魚眼圖像進行拼接,得到拼接后的球面全景圖像。
也就是對兩幅魚眼圖像進行圖像融合,其中,基于graph-cut(圖像分割)的最優縫合線算法的原理和具體過程可以參考文獻“Graphcut textures:image and video synthesis using graph cuts”。根據最優縫合線L對變換到同一坐標系下的兩幅待拼接圖像進行融合。由于待拼接的兩幅圖像可能因為曝光不同等因素有一定的顏色差異,為了使拼接后圖像顏色在縫合線處平滑過渡,本發明實施例采用加權平均法在最優縫合線L周圍對待拼接的圖像像素值進行融合。具體方法如下:
計算該像素點(x,y)與最優縫合線L在融合方向上的距離D(x,y),如果D(x,y)≥d,則計算像素點(x,y)與中心點C1和C2在融合方向上的距離D1和D2,如果D1>D2,則令融合圖像中像素點(x,y)的像素值P(x,y)取其在圖像1中的像素值,否則令融合圖像中像素點(x,y)的像素值P(x,y)取其在圖像2中的像素值,如果D(x,y)<d,則計算像素點(x,y)與邊界L1和邊界L2在融合方向上的距離d1和d2,那么融合圖像中像素點(x,y)的像素值P(x,y)按照以下公式計算:
其中,P1(x,y)、P2(x,y)為像素點(x,y)在兩幅魚眼圖像的像素值。
可見,根據邊界L1和邊界L2可以將圖像重合區域分為3個區域,邊界L1和邊界L2之外的兩個區域內的像素點不進行融合,邊界L1和邊界L2里面的區域進行加權融合。圖4是圖像融合區域示意圖。如圖4所示,沿水平方向融合時,圖像重合區域從左至右分為三個區域,兩側區域(區域1和區域2)的像素點像素值分別來源于對應的圖像,中間區域(區域3)的像素值采用加權平均;沿垂直方向融合時,圖像重合區域從上至下分為三個區域,上下區域(區域1和區域2)的像素點像素值分別來源于對應的圖像,中間區域(區域3)的像素值采用加權平均。經過上述方法融合拼接之后的圖像,圖像重合區域中匹配的圖像點間的拼接誤差大幅度減小,因此使得全景圖像中由匹配點間的拼接誤差引起的重影、錯位、模糊等問題也相應得到了解決。
當生成了球面全景圖像之后,就可以利用VR(Virtual Reality,虛擬現實設備)進行顯示,因為圖像是經過本發明實施例提供的方法處理之后的全景圖像,這樣圖像的拼接的精確度高,所以在VR顯示時的圖像更加清晰,解決顯示時重影、錯誤的問題。
基于相同的技術構思,本發明實施例還提供一種獲取全景圖像的裝置,該裝置可執行上述方法實施例。本發明實施例提供的裝置如圖5所示,包括:拍攝單元401、映射單元402、提取單元403、匹配單元404、運算單元405、轉換單元406、拼接單元407,其中:
拍攝單元401,用于利用雙魚眼鏡頭拍攝得到兩幅魚眼圖像,其中,所述雙魚眼鏡頭為背對設置的兩個鏡頭,且兩個鏡頭的視場角之和大于等于360度;
映射單元402,用于將所述兩幅魚眼圖像從平面坐標系映射到各自的球面模型中;
提取單元403,用于從映射后的每個魚眼圖像中提取特征點;
匹配單元404,用于并將提取到的特征點進行匹配得到特征點匹配對;
運算單元405,用于利用所述特征點匹配對確定映射后的兩幅魚眼圖像之間的變換矩陣;
轉換單元406,用于利用所述變換矩陣將映射后的兩幅魚眼圖像轉換到同一個球面模型中;
拼接單元407,用于將同一個球面模型中的兩幅魚眼圖像進行拼接,獲取拼接后的球面全景圖像。
其中,所述雙魚眼鏡頭包括第一魚眼鏡頭和第二魚眼鏡頭;
所述兩幅魚眼圖像包括所述第一魚眼鏡頭拍攝得到的第一魚眼圖像,所述第二魚眼鏡頭拍攝得到的第二魚眼圖像;
進一步地,還包括:掃描單元408,用于利用種子生長法對所述兩幅魚眼圖像進行一次掃描,得到每幅魚眼圖像的有效圓形區域。
進一步地,所述映射單元402具體用于:用于利用種子生長法對所述兩幅魚眼圖像進行掃描,確定所述第一魚眼圖像和所述第二魚眼圖像的有效圓形區域;
所述映射單元具體用于:根據平面坐標系與球面坐標系之間的映射關系,將所述第一魚眼圖像的有效圓形區域從平面坐標系映射到第一球面模型中,并所述第二魚眼圖像的有效圓形區域從平面坐標系映射到第二球面模型中。
進一步地,所述提取單元403具體用于:構建Hessian矩陣,基于Hessian矩陣行列式的判別式det(H)取值的符號確定出H(f(x,y))處的極值點和極值點的坐標,其中,(x,y)為魚眼圖像的像素點的坐標;
所述匹配單元404具體用于:利用最近鄰匹配法判定當一對極值點的歐氏距離小于設定閾值時,將該對極值點作為一組特征點匹配對。
進一步地,所述運算單元405具體用于:根據確定出來的多個特征點匹配對的坐標,按照公式一進行求解,得到所述兩幅魚眼圖像之間的變換矩陣,公式一如上文所述,不再贅述。
進一步地,所述拼接單元407具體用于:用K-D樹搜索同一個球面模型中的兩幅魚眼圖像的最近鄰和次近鄰距離,并將搜素得到的距離作為權重,采用加權平均的方法對所述兩幅圖像的特征點進行配準,從而實現對兩幅魚眼圖像進行拼接,得到拼接后的球面全景圖像。
進一步地,還包括,顯示單元409,用于根據獲取的球面全景圖像,進行虛擬現實VR顯示。
進一步地,本發明實施方式涉及一種電子設備,如圖6所示,本實施方式的電子設備可以包括:處理器501、存儲器502、顯示器503和收發器504。
其中,處理器501為系統的核心,其可以為CPU(中央處理器)、DSP(Digital Signal Processor,數字信號處理器)等,其主要負責電子設備中各部件之間的協調工作,其中,存儲器502可以為ROM(Read Only Memory,只讀存儲器)、RAM(Random Access Memory,隨機訪問存儲器)、緩存或閃存等存儲設備,其可以用于存儲計算機可讀的程序指令,該程序指令用于使得處理器501實現本實施例所示的獲取全景圖像的功能。其中,顯示器503主要用于顯示人機交互界面,以方便用戶進行操作,并顯示全景圖像。其中,收發器504主要用于接收雙魚眼鏡頭拍攝的圖像。
不難發現,本實施方式為與上述方法相對應的設備實施例,本實施方式可與上述方法方式互相配合實施。上述方法中提到的相關技術細節在本實施方式中依然有效,為了減少重復,這里不再贅述。相應地,本實施方式中提到的相關技術細節也可應用在上述方法實施方式中。
本發明實施例的電子設備以多種形式存在,包括但不限于:
(1)移動通信設備:這類設備的特點是具備移動通信功能,并且以提供話音、數據通信為主要目標。這類設備包括:智能手機(例如iPhone)、多媒體手機、功能性手機,以及低端手機等。
(2)超移動個人計算機設備:這類設備屬于個人計算機的范疇,有計算和處理功能,一般也具備移動上網特性。這類終端包括:PDA、MID和UMPC設備等,例如iPad。
(3)便攜式娛樂設備:這類設備可以顯示和播放多媒體內容。該類設備包括:音頻、視頻播放器(例如iPod),掌上游戲機,電子書,以及智能玩具和便攜式車載導航設備。
(4)服務器:提供計算服務的設備,服務器的構成包括處理器、硬盤、內存、系統總線等,服務器和通用的計算機架構類似,但是由于需要提供高可靠的服務,因此在處理能力、穩定性、可靠性、安全性、可擴展性、可管理性等方面要求較高。
(5)其他具有數據交互功能的電子裝置。
本領域技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序存儲在一個存儲介質中,包括若干指令用以使得一個設備(可以是單片機,芯片等)或處理器(processor)執行本申請各個實施例方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
另外,本發明實施例進一步提供一種非暫態計算機可讀存儲介質,所述非暫態計算機可讀存儲介質存儲計算機指令,所述計算機指令用于使所述計算機執行上述任一項所述的業務存儲位置的分配方法及其系統。
進一步地,本發明實施例提供一種計算機程序產品,所述計算機程序產品包括存儲在非暫態計算機可讀存儲介質上的計算程序,所述計算機程序包括程序指令,當所述程序指令被計算機執行時,使所述計算機執行上述任一項所述的業務存儲位置的分配方法及其系統。
綜上所述,本發明實施例通過將魚眼圖像從平面坐標系直接映射到球面模型,再進行拼接,能夠有效校正魚眼圖像產生的徑向畸變,使魚眼圖像映射到自身所在單位球面上的映射的相對位置得到校正,邊緣區域的變形得到有效的校正。另外,通過在單位球面上的配準,使得球面上的絕對位置得到有效的配準,因此圖像重合區域中匹配的圖像點間的拼接誤差大幅度減小,因此使得全景圖像中由匹配點間的拼接誤差引起的重影、錯位、模糊等問題也相應得到了解決。本發明實施例提供的圖像拼接方法得到的全景圖像中完全沒有空白圖像區域,重疊區域圖像誤差小,因此圖像拼接精度得到大幅提高。
本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發明的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本發明范圍的所有變更和修改。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。