全景圖像拼接方法和裝置的制造方法
【專利摘要】本發(fā)明提出一種全景圖像拼接方法和裝置,該全景圖像拼接方法包括:獲取全景相機拍攝到的圖像,得到第一圖像集;根據(jù)第一預(yù)設(shè)算法動態(tài)獲取第一圖像集中每兩個相鄰圖像的重疊區(qū)域中景物的真實距離,并獲取與每個真實距離對應(yīng)的距離拼接模板;根據(jù)對應(yīng)的距離拼接模板的拼接參數(shù),對第一圖像集中每兩個相鄰圖像進行拼接處理,得到第一全景圖像。通過本發(fā)明能夠?qū)崿F(xiàn)大數(shù)據(jù)量全景圖像的實時拼接效果,且能夠節(jié)省全景相機的硬件資源消耗。
【專利說明】
全景圖像拼接方法和裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,尤其涉及一種全景圖像拼接方法和裝置。
【背景技術(shù)】
[0002] 相關(guān)技術(shù)中的全景相機,只負責(zé)圖片信息采集及數(shù)據(jù)傳輸,而拼接工作在計算機 上進行,速度較慢,不具有實時性。為達到實時特性,改進的全景相機需要在相機內(nèi)部完成 實時拼接,然而相關(guān)技術(shù)中的圖像拼接方法多是尋優(yōu)的過程,計算復(fù)雜,直接應(yīng)用會造成硬 件的存儲量及吞吐量巨大,限制了應(yīng)用范圍。改進后的全景相機的機內(nèi)實時拼接,也多是小 數(shù)據(jù)量的拼接。全景相機機內(nèi)實時拼接解決方法很難實現(xiàn)一種既能處理大數(shù)據(jù)量傳輸、運 行復(fù)雜拼接算法、消耗較低資源,同時又能達到實時、高質(zhì)量拼接效果的要求。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
[0004] 為此,本發(fā)明的一個目的在于提出一種全景圖像拼接方法,能夠?qū)崿F(xiàn)大數(shù)據(jù)量全 景圖像的實時拼接效果,且能夠節(jié)省全景相機的硬件資源消耗。
[0005] 本發(fā)明的另一個目的在于提出一種全景圖像拼接裝置。
[0006]為達到上述目的,本發(fā)明第一方面實施例提出的全景圖像拼接方法,包括:獲取全 景相機拍攝到的圖像,得到第一圖像集;根據(jù)第一預(yù)設(shè)算法動態(tài)獲取所述第一圖像集中每 兩個相鄰圖像的重疊區(qū)域中景物的真實距離,并獲取與每個所述真實距離對應(yīng)的距離拼接 模板;根據(jù)所述對應(yīng)的距離拼接模板的拼接參數(shù),對所述第一圖像集中每兩個相鄰圖像進 行拼接處理,得到第一全景圖像。
[0007]本發(fā)明第一方面實施例提出的全景圖像拼接方法,通過獲取全景相機拍攝到的圖 像得到第一圖像集,獲取第一圖像集中每兩個相鄰圖像的重疊區(qū)域中景物的真實距離,并 獲取與每個真實距離對應(yīng)的距離拼接模板,該距離拼接模板是由全景相機預(yù)先生成并存儲 的,能夠?qū)崿F(xiàn)大數(shù)據(jù)量全景圖像的實時拼接效果,且能夠節(jié)省全景相機的硬件資源消耗。 [0008]為達到上述目的,本發(fā)明第二方面實施例提出的全景圖像拼接裝置,包括:第一獲 取模塊,用于獲取全景相機拍攝到的圖像,得到第一圖像集;第二獲取模塊,用于根據(jù)第一 預(yù)設(shè)算法動態(tài)獲取所述第一圖像集中每兩個相鄰圖像的重疊區(qū)域中景物的真實距離,并獲 取與每個所述真實距離對應(yīng)的距離拼接模板;拼接模塊,用于根據(jù)所述對應(yīng)的距離拼接模 板的拼接參數(shù),對所述第一圖像集中每兩個相鄰圖像進行拼接處理,得到第一全景圖像。
[0009] 本發(fā)明第二方面實施例提出的全景圖像拼接裝置,通過獲取全景相機拍攝到的圖 像得到第一圖像集,獲取第一圖像集中每兩個相鄰圖像的重疊區(qū)域中景物的真實距離,并 獲取與每個真實距離對應(yīng)的距離拼接模板,該距離拼接模板是由全景相機預(yù)先生成并存儲 的,能夠?qū)崿F(xiàn)大數(shù)據(jù)量全景圖像的實時拼接效果,且能夠節(jié)省全景相機的硬件資源消耗。
[0010] 本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變 得明顯,或通過本發(fā)明的實踐了解到。
【附圖說明】
[0011] 本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得 明顯和容易理解,其中:
[0012] 圖1是本發(fā)明一實施例提出的全景圖像拼接方法的流程示意圖;
[0013] 圖2是本發(fā)明另一實施例提出的全景圖像拼接方法的流程示意圖;
[0014] 圖3是本發(fā)明另一實施例提出的全景圖像拼接方法的流程示意圖;
[0015] 圖4是本發(fā)明一實施例提出的全景圖像拼接裝置的結(jié)構(gòu)示意圖;
[0016] 圖5是本發(fā)明另一實施例提出的全景圖像拼接裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0017] 下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終 相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附 圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。相反,本 發(fā)明的實施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同 物。
[0018] 圖1是本發(fā)明一實施例提出的全景圖像拼接方法的流程示意圖。
[0019] 本實施例可以應(yīng)用在全景相機上。
[0020] 全景相機是指能夠接收用戶產(chǎn)生的拍照指令,并根據(jù)拍照指令拍攝全景圖像的照 相設(shè)備,在本發(fā)明的實施例中,該全景相機可以包括至少兩個的鏡頭,在拍攝全景圖像時, 全景相機的至少兩個的鏡頭可以同時采集不同距離位置和/或不同角度位置的多幅圖像, 并在全景相機內(nèi)部將不同距離位置和/或不同角度位置的多幅圖像進行拼接處理,生成全 景圖像。
[0021] 參見圖1,本實施例的方法包括:
[0022] S11:獲取全景相機拍攝到的圖像,得到第一圖像集。
[0023] 可選地,全景相機可以包括至少兩個的鏡頭,不同的鏡頭用于采集用戶需要拍攝 的場景空間中不同距離位置和/或不同角度位置的多幅圖像。
[0024] -些實施例中,第一圖像集中可以包含全景相機的至少兩個的鏡頭拍攝到的多幅 圖像,該多幅圖像可以為不同距離位置和/或不同角度位置的多幅圖像。
[0025] 可以理解的是,第一圖像集中圖像的數(shù)量與全景相機的鏡頭的數(shù)量相同。
[0026] 例如,在全景相機接收用戶產(chǎn)生的拍照指令,全景相機的至少兩個的鏡頭可以根 據(jù)拍照指令同時采集不同距離位置和/或不同角度位置的多幅圖像,得到第一圖像集。
[0027] S12:根據(jù)第一預(yù)設(shè)算法動態(tài)獲取第一圖像集中每兩個相鄰圖像的重疊區(qū)域中景 物的真實距離,并獲取與每個真實距離對應(yīng)的距離拼接模板。
[0028]可選地,第一預(yù)設(shè)算法為雙目測距算法。
[0029]雙目測距算法是一種基于雙目立體視覺的距離測量算法。
[0030] 一些實施例中,可以預(yù)先生成與n個不同的距離對應(yīng)的距離拼接模板,并將n個不 同的距離和對應(yīng)的距離拼接模板的拼接參數(shù)預(yù)存在全景相機的存儲器中,其中,n屬于1~ N,N為正整數(shù)。具體的距離拼接模板生成方法的流程可以參見后續(xù)實施例。
[0031] 在本發(fā)明的實施例中,在對第一圖像集中每兩個相鄰圖像進行兩兩拼接的過程 中,每兩個相鄰圖像的重疊區(qū)域中相同景物的拍攝距離位置和/或拍攝角度位置有可能會 不相同,因此,可以根據(jù)雙目測距算法計算出每兩個相鄰圖像的重疊區(qū)域中相同景物的真 實距離,以調(diào)用與真實距離對應(yīng)的距離拼接模板,實現(xiàn)高質(zhì)量的全景拼接。
[0032] 可以理解的是,真實距離的數(shù)量可以為至少一個,例如,在獲取第一圖像集中每兩 個相鄰圖像的重疊區(qū)域中景物的至少一個的真實距離后,全景相機的內(nèi)置程序可以讀取存 儲器中的預(yù)先生成的與n個不同的距離對應(yīng)的距離拼接模板。
[0033] S13:根據(jù)對應(yīng)的距離拼接模板的拼接參數(shù),對第一圖像集中每兩個相鄰圖像進行 拼接處理,得到第一全景圖像。
[0034] 在本發(fā)明的實施例中,距離拼接模板的拼接參數(shù)例如可以包括投影映射矩陣融合 參數(shù)、校正映射公式,以及匹配變換矩陣。
[0035] 在本發(fā)明的實施例中,全景相機的至少兩個的鏡頭可以是廣角圓形魚眼鏡頭,鏡 頭采集的多幅圖像中的像素坐標(biāo)是非線性數(shù)據(jù),直接對非線性數(shù)據(jù)進行拼接處理不易實 現(xiàn),因此可以預(yù)先對鏡頭采集的多幅圖像中的像素坐標(biāo)進行校正,將非線性像素坐標(biāo)轉(zhuǎn)化 為線性像素坐標(biāo)。
[0036]例如,可以根據(jù)距離拼接模板的拼接參數(shù)中的校正映射公式對多幅圖像中的像素 坐標(biāo)進行校正映射處理。
[0037] 在本發(fā)明的實施例中,將全景相機的至少兩個的鏡頭采集的多幅圖像中每兩個相 鄰圖像進行兩兩拼接的過程中,可以預(yù)先識別和判定每兩個相鄰圖像的重疊區(qū)域中相同景 物的位移、旋轉(zhuǎn)等變換關(guān)系,以獲取重疊區(qū)域中相同景物的真實位置數(shù)據(jù)。
[0038] 例如,可以根據(jù)距離拼接模板的拼接參數(shù)中的匹配變換矩陣對重疊區(qū)域中相同景 物的像素坐標(biāo)進行配準處理。
[0039] 在本發(fā)明的實施例中,將全景相機的至少兩個的鏡頭采集的多幅圖像中每兩個相 鄰圖像進行兩兩拼接的過程中,在依次將非線性像素坐標(biāo)轉(zhuǎn)化為線性像素坐標(biāo),并對重疊 區(qū)域中相同景物的像素坐標(biāo)進行配準處理,進一步的,可以對第一圖像集中每兩個相鄰圖 像進行拼接處理,得到第一全景圖像。
[0040] 例如,可以根據(jù)距離拼接模板的拼接參數(shù)中的投影映射矩陣融合參數(shù)對第一圖像 集中每兩個相鄰圖像進行融合處理,得到第一全景圖像。
[0041] 全景相機在獲取到與每個真實距離對應(yīng)的距離拼接模板后,可以進一步讀取距離 拼接模板的拼接參數(shù),
[0042] 本實施例中,通過獲取全景相機拍攝到的圖像得到第一圖像集,獲取第一圖像集 中每兩個相鄰圖像的重疊區(qū)域中景物的真實距離,并獲取與每個真實距離對應(yīng)的距離拼接 模板,該距離拼接模板是由全景相機預(yù)先生成并存儲的,能夠?qū)崿F(xiàn)大數(shù)據(jù)量全景圖像的實 時拼接效果,且能夠節(jié)省全景相機的硬件資源消耗。
[0043] 圖2是本發(fā)明另一實施例提出的全景圖像拼接方法的流程示意圖。
[0044]本實施例以調(diào)用與n個不同的真實距離對應(yīng)的距離拼接模板為例,其中,n屬于1~ N,N為正整數(shù)。
[0045] 參見圖2,本實施例的方法包括:
[0046] S21:獲取全景相機拍攝到的圖像,得到第一圖像集。
[0047] -些實施例中,第一圖像集中可以包含全景相機的至少兩個的鏡頭拍攝到的多幅 圖像,該多幅圖像可以為不同距離位置和/或不同角度位置的多幅圖像。
[0048] 可以理解的是,第一圖像集中圖像的數(shù)量與全景相機的鏡頭的數(shù)量相同。
[0049] 例如,在全景相機接收用戶產(chǎn)生的拍照指令,全景相機的至少兩個的鏡頭可以根 據(jù)拍照指令同時采集不同距離位置和/或不同角度位置的多幅圖像,得到第一圖像集。
[0050] S22:根據(jù)第一預(yù)設(shè)算法動態(tài)獲取第一圖像集中每兩個相鄰圖像的重疊區(qū)域中景 物的n個真實距離,其中,n屬于1~N,N為正整數(shù)。
[0051]可選地,第一預(yù)設(shè)算法為雙目測距算法。
[0052]雙目測距算法是一種基于雙目立體視覺的距離測量算法。
[0053]在本發(fā)明的實施例中,在對第一圖像集中每兩個相鄰圖像進行兩兩拼接的過程 中,每兩個相鄰圖像的重疊區(qū)域中相同景物的拍攝距離位置和/或拍攝角度位置有可能會 不相同,因此,可以根據(jù)雙目測距算法計算出每兩個相鄰圖像的重疊區(qū)域中相同景物的真 實距離,以調(diào)用與真實距離對應(yīng)的距離拼接模板,實現(xiàn)高質(zhì)量的全景拼接。
[0054] S23:獲取n個真實距離中與每個真實距離對應(yīng)的距離拼接模板,其中,n屬于1~N, N為正整數(shù)。
[0055] 可以理解的是,n個真實距離對應(yīng)n個距離拼接模板,其中,n屬于1~N,N為正整數(shù)。
[0056] 例如,在獲取第一圖像集中每兩個相鄰圖像的重疊區(qū)域中景物的n個真實距離后, 全景相機的內(nèi)置程序可以讀取存儲器中的預(yù)先生成的與n個不同的真實距離對應(yīng)的n個距 離拼接模板。
[0057] S24:讀取n個距離拼接模板的拼接參數(shù)。
[0058]在本發(fā)明的實施例中,距離拼接模板的拼接參數(shù)例如可以包括投影映射矩陣融合 參數(shù)、校正映射公式,以及匹配變換矩陣。
[0059]可以理解的是,n個距離拼接模板的拼接參數(shù)可以相同或者不同。n個距離拼接模 板可以包括n個投影映射矩陣融合參數(shù)、n個不同參數(shù)的校正映射公式,以及n個不同參數(shù)的 匹配變換矩陣,其中,n屬于1~N,N為正整數(shù)。
[0060] S25:根據(jù)距離拼接模板的拼接參數(shù)中的校正映射公式對多幅圖像中的像素坐標(biāo) 進行校正映射處理。
[0061 ]例如,可以根據(jù)n個距離拼接模板中,每個距離拼接模板的校正映射公式對多幅圖 像中的像素坐標(biāo)進行校正映射處理,將多幅圖像中的非線性像素坐標(biāo)轉(zhuǎn)化為線性像素坐 標(biāo)。
[0062] S26:根據(jù)距離拼接模板的拼接參數(shù)中的匹配變換矩陣對重疊區(qū)域中相同景物的 像素坐標(biāo)進行配準處理。
[0063]例如,可以根據(jù)n個距離拼接模板中,每個距離拼接模板的匹配變換矩陣對相鄰圖 像的重疊區(qū)域中相同景物的像素坐標(biāo)進行配準處理,得到配準處理后的多幅圖像。
[0064] S27:根據(jù)距離拼接模板的拼接參數(shù)中的投影映射矩陣融合參數(shù)對第一圖像集中 配準處理后的多幅圖像中每兩個相鄰圖像進行融合處理,得到第一全景圖像。
[0065]例如,可以根據(jù)距離拼接模板的拼接參數(shù)中的投影映射矩陣融合參數(shù)對配準處理 后的多幅圖像中每兩個相鄰圖像進行融合處理,得到第一全景圖像。
[0066]本實施例中,通過調(diào)用距離拼接模板進行全景圖像的拼接,簡化了復(fù)雜的拼接算 法實現(xiàn)過程,提高了全景圖像的拼接效率,利于拼接實時性要求。同時,本實施例中通過存 儲距離拼接模板實現(xiàn)圖像拼接,減少了全景相機的硬件資源的消耗,提高了全景相機的性 價比。另外,本實施例采用雙目測距方法動態(tài)在多個距離拼接模板中選取最合適的距離拼 接模板,可以對需要拍攝的場景空間中不同距離位置和/或不同角度位置的多幅圖像同時 達到最優(yōu)的拼接效果。進一步的,通過根據(jù)距離拼接模板的拼接參數(shù)進行全景圖像的拼接, 可以改善全景相機中至少一個的鏡頭光心節(jié)點不重合所造成的全景圖像拼接質(zhì)量不佳的 問題。進一步的,本實施例不限制相鄰圖像重疊區(qū)域的面積大小,只要相鄰圖像存在重疊區(qū) 域就可實現(xiàn)全景圖像的拼接,提升了全景相機的適用性。
[0067]圖3是本發(fā)明另一實施例提出的全景圖像拼接方法的流程示意圖。
[0068]本實施例以生成與n個不同的距離對應(yīng)的距離拼接模板為例,其中,n屬于1~N,N 為正整數(shù)。
[0069]參見圖3,本實施例的方法包括:
[0070] S31:獲取全景相機對預(yù)設(shè)場景拍攝到的圖像,得到第二圖像集。
[0071] 在本發(fā)明的實施例中,預(yù)設(shè)場景為用戶預(yù)先選定的拍攝場景,用于生成距離拼接 模板,預(yù)設(shè)場景可以為一處或者多處。例如,用戶可以預(yù)先選定一處或者多處預(yù)設(shè)場景,通 過對預(yù)設(shè)場景拍攝到的圖像進行全景拼接,獲取能夠得到最優(yōu)拼接質(zhì)量全景圖像的距離拼 接模板。
[0072]本實施例以預(yù)設(shè)場景為一處示例。
[0073] -些實施例中,第二圖像集中可以包含全景相機的至少兩個的鏡頭對預(yù)設(shè)場景拍 攝到的多幅圖像,該多幅圖像可以為不同距離位置和/或不同角度位置的多幅圖像。
[0074] 可以理解的是,第二圖像集中圖像的數(shù)量與全景相機的鏡頭的數(shù)量相同。第二圖 像集的數(shù)量可以為一個或者多個,例如,若預(yù)設(shè)場景為一處,則對應(yīng)一個第二圖像集,若預(yù) 設(shè)場景為多處,則對應(yīng)多個第二圖像集,多個第二圖像集可以用于對距離拼接模板進行不 斷的測試優(yōu)化,以得到能夠獲取最優(yōu)拼接質(zhì)量全景圖像的距離拼接模板。
[0075] 例如,在全景相機接收用戶產(chǎn)生的拍照指令,全景相機的至少兩個的鏡頭可以根 據(jù)拍照指令同時采集預(yù)設(shè)場景中不同距離位置和/或不同角度位置的多幅圖像,得到第一 圖像集。
[0076] S32:根據(jù)圖像預(yù)處理算法將第二圖像集中的每個圖像的非線性像素坐標(biāo)轉(zhuǎn)化為 線性像素坐標(biāo),得到轉(zhuǎn)化后的第二圖像集。
[0077] 一些實施例中,圖像預(yù)處理算法可以如下校正映射公式:
[0080]其中,f為焦距,(X〇,y。)為非線性像素坐標(biāo),(xc,y。)為校正后的線性像素坐標(biāo)。 [0081]例如,可以根據(jù)校正映射公式對第二圖像集中多幅圖像的像素坐標(biāo)進行校正映射 處理,將多幅圖像中的非線性像素坐標(biāo)轉(zhuǎn)化為線性像素坐標(biāo),得到轉(zhuǎn)化后的第二圖像集。
[0082] S33:根據(jù)圖像配準算法對轉(zhuǎn)化后的第二圖像集中每兩個相鄰圖像的重疊區(qū)域進 行配準處理。
[0083] 一些實施例中,圖像配準算法可以如下匹配變換矩陣: I mx m7 x
[0084] v 二 m3 m4 m5 v ; 1 m6 m7 1 1
[0085] 其中,x和y分別為第二圖像集中的每個圖像的像素坐標(biāo)變換前的水平坐標(biāo)和垂直 坐標(biāo),V和y'分別為變換后每個圖像的像素坐標(biāo)的水平坐標(biāo)和垂直坐標(biāo),m〇、m 4為縮放旋轉(zhuǎn) 參數(shù),nu、m3為錯切參數(shù),m2為x方向位移,111 5為7方向位移,m6、m7為梯形失真參數(shù)。
[0086] 例如,可以根據(jù)匹配變換矩陣對相鄰圖像的重疊區(qū)域中相同景物的像素坐標(biāo)進行 配準處理,得到配準處理后的多幅圖像。
[0087] S34:根據(jù)圖像融合算法將配準處理后的第二圖像集中每兩個相鄰圖像進行拼接 處理,得到第二全景圖像。
[0088] -些實施例中,圖像融合算法可以例如包括最佳拼接線位置求取算法、接縫平滑 處理算法以及全景圖像的整體曝光處理算法等。
[0089] 可選地,最佳拼接線位置求取算法如下:
[0090] E(x,y) =E2color(x,y)+Egeometry(x,y);
[0091] 其中,£。。1。辦,7)表示相鄰圖像中重疊像素點的顏色值之差,而£5;_^(^ 7)表示 相鄰圖像中重疊像素點的結(jié)構(gòu)差值。68_^1^(1,7)是通過修改梯度計算5(^61算子實現(xiàn)的。
[0092] Egeometry(x,y)=Diff (fi(x,y) ,f2(x,y));
[0093] Diff (fi(x,y) ,f2(x,y))可以通過計算相鄰圖像fi(x,y)和f2(x,y)在x和y方向的 梯度之差的積得到。
[0094] 可選地,可以在相鄰圖像的重疊區(qū)域根據(jù)相關(guān)技術(shù)中的拼接線位置求取算法選出 最佳的拼接線,實現(xiàn)使圖像的重疊區(qū)域能平滑自然地過渡,實現(xiàn)無縫拼接,在此不再贅述。 [0095] 一些實施例中,平滑處理可以采用加權(quán)處理算法、泊松融合算法,以及多分辨處理 算法等,可以根據(jù)全景圖像的特點選取最優(yōu)的算法消除相鄰圖像重疊區(qū)域的重影,以實現(xiàn) 全景圖像的拼接。
[0096] 一些實施例中,全景圖像的整體曝光處理算法可以例如亮度校正算法等。
[0097]可選地,第二圖像集中的多張圖像可能會存在色差或者曝光不同等現(xiàn)象,為實現(xiàn) 高質(zhì)量的全景圖像拼接效果,可以采用亮度校正算法消除曝光差異。
[0098]例如,可以根據(jù)S32~S34對第二圖像集中每兩個相鄰圖像進行拼接處理,得到第 一全景圖像。
[0099] S35:判斷第二全景圖像是否達到預(yù)設(shè)拼接標(biāo)準,若是,執(zhí)行S37,否則,執(zhí)行S36。
[0100] 在本發(fā)明的實施例中,預(yù)設(shè)拼接標(biāo)準是指高質(zhì)量的全景圖像的拼接效果標(biāo)準,預(yù) 設(shè)拼接標(biāo)準可以由全景相機的制造廠商設(shè)定。
[0101] 例如,在根據(jù)S32~S34對第二圖像集中每兩個相鄰圖像進行拼接處理,得到第一 全景圖像之后,可以對第一全景圖像的拼接效果進行評估,判斷拼接效果是否達到預(yù)設(shè)拼 接標(biāo)準。
[0102] S36:根據(jù)預(yù)設(shè)規(guī)則對第二預(yù)設(shè)算法進行處理,得到目標(biāo)預(yù)設(shè)算法,并重復(fù)根據(jù)目 標(biāo)預(yù)設(shè)算法對第二圖像集中每兩個相鄰圖像進行拼接處理,得到第二全景圖像。之后重復(fù) 執(zhí)行S35。
[0103] 一些實施例中,第二預(yù)設(shè)算法包括圖像預(yù)處理算法、圖像配準算法和圖像融合算 法。
[0104] 在判定第二全景圖像的拼接效果未達到預(yù)設(shè)拼接標(biāo)準,可以對第二預(yù)設(shè)算法進行 優(yōu)化處理,即對圖像預(yù)處理算法、圖像配準算法和圖像融合算法進行優(yōu)化處理,得到目標(biāo)預(yù) 設(shè)算法,其中,目標(biāo)預(yù)設(shè)算法可以包括優(yōu)化后的圖像預(yù)處理算法、優(yōu)化后的圖像配準算法和 優(yōu)化后的圖像融合算法。
[0105] 例如,可以對校正映射公式、匹配變換矩陣,以及圖像融合算法進行優(yōu)化處理,得 到目標(biāo)預(yù)設(shè)算法,并通過目標(biāo)預(yù)設(shè)算法對第二圖像集中每兩個相鄰圖像進行拼接處理,進 一步的,循環(huán)判斷拼接處理后的全景圖像是否達到預(yù)設(shè)拼接標(biāo)準,如果未達到,則持續(xù)對目 標(biāo)預(yù)設(shè)算法進行優(yōu)化,直到根據(jù)優(yōu)化后的目標(biāo)預(yù)設(shè)算法拼接出的全景圖像達到預(yù)設(shè)拼接標(biāo) 準。
[0106] S37:根據(jù)第二預(yù)設(shè)算法的參數(shù)生成與n個不同的距離對應(yīng)的距離拼接模板,其中, n屬于1~N,N為正整數(shù)。
[0107] 在判定第二全景圖像的拼接效果達到預(yù)設(shè)拼接標(biāo)準時,可以獲取使全景圖像達到 預(yù)設(shè)拼接標(biāo)準的第二預(yù)設(shè)算法的參數(shù)生成與n個不同的距離對應(yīng)的距離拼接模板,其中,n 屬于1~N,N為正整數(shù)。
[0108]可以理解的是,如果根據(jù)一處預(yù)設(shè)場景只能生成有限個數(shù)的不同的距離,與之對 應(yīng)生成有限個數(shù)的距離拼接模板,則可以選取多處預(yù)設(shè)場景,通過對多處預(yù)設(shè)場景進行全 景圖像的拼接處理,以獲取與n個不同的距離對應(yīng)的距離拼接模板,其中,n屬于1~N,N為正 整數(shù)。
[0109]本實施例中,通過生成與n個不同的距離對應(yīng)的距離拼接模板,該距離拼接模板能 夠使拼接出的全景圖像達到預(yù)設(shè)拼接標(biāo)準,可以使得遠景和近景圖像能夠同時達到高質(zhì)量 的拼接效果,有效提升全景相機的適用性。通過循環(huán)判斷拼接處理后的全景圖像是否達到 預(yù)設(shè)拼接標(biāo)準,如果未達到,則持續(xù)對目標(biāo)預(yù)設(shè)算法進行優(yōu)化,能夠?qū)崿F(xiàn)高質(zhì)量的拼接。同 時,該距離拼接模板為制造廠商預(yù)先通過全景相機生成并存儲在全景相機的存儲器中,使 得用戶在使用全景相機進行全景拍照的過程中,只需要讀取存儲器中的距離拼接模板,而 不是再次通過第二預(yù)設(shè)算法進行計算進行全景圖像的拼接處理,本實施例在大數(shù)據(jù)量下仍 能夠?qū)崿F(xiàn)全景圖像的實時拼接效果,有效節(jié)省全景相機的硬件資源消耗,提升用戶的使用 體驗。
[0110] 圖4是本發(fā)明一實施例提出的全景圖像拼接裝置的結(jié)構(gòu)示意圖。
[0111] 該裝置位于全景相機中,該裝置40包括:第一獲取模塊41、第二獲取模塊42和拼接 模塊43。
[0112] 全景相機是指能夠接收用戶產(chǎn)生的拍照指令,并根據(jù)拍照指令拍攝全景圖像的照 相設(shè)備,在本發(fā)明的實施例中,該全景相機可以包括至少兩個的鏡頭,在拍攝全景圖像時, 全景相機的至少兩個的鏡頭可以同時采集不同距離位置和/或不同角度位置的多幅圖像, 并在全景相機內(nèi)部將不同距離位置和/或不同角度位置的多幅圖像進行拼接處理,生成全 景圖像。
[0113]參見圖4,本實施例的裝置40包括:
[0114]第一獲取模塊41,用于獲取全景相機拍攝到的圖像,得到第一圖像集。
[0115]第二獲取模塊42,用于根據(jù)第一預(yù)設(shè)算法動態(tài)獲取第一圖像集中每兩個相鄰圖像 的重疊區(qū)域中景物的真實距離,并獲取與每個真實距離對應(yīng)的距離拼接模板。
[0116]其中,第一預(yù)設(shè)算法為雙目測距算法。
[0117]拼接模塊43,用于根據(jù)對應(yīng)的距離拼接模板的拼接參數(shù),對第一圖像集中每兩個 相鄰圖像進行拼接處理,得到第一全景圖像。
[0118] 可選地,一些實施例中,參見圖5,該裝置40還包括:生成模塊44和存儲模塊45。
[0119] 生成模塊44,用于生成與n個不同的距離對應(yīng)的距離拼接模板。
[0120]可選地,一些實施例中,參見圖5,生成模塊44還可以包括:獲取子模塊441、拼接子 模塊442,以及處理子模塊443。
[0121] 獲取子模塊441,用于獲取全景相機對預(yù)設(shè)場景拍攝到的圖像,得到第二圖像集。
[0122] 拼接子模塊442,用于根據(jù)第二預(yù)設(shè)算法對第二圖像集中每兩個相鄰圖像進行拼 接處理,得到第二全景圖像,并判斷第二全景圖像是否達到預(yù)設(shè)拼接標(biāo)準。
[0123] 第二預(yù)設(shè)算法包括圖像預(yù)處理算法、圖像配準算法和圖像融合算法。
[0124] 可選地,拼接子模塊442還用于:根據(jù)圖像預(yù)處理算法將第二圖像集中的每個圖像 的非線性像素坐標(biāo)轉(zhuǎn)化為線性像素坐標(biāo),得到轉(zhuǎn)化后的第二圖像集;根據(jù)圖像配準算法對 轉(zhuǎn)化后的第二圖像集中每兩個相鄰圖像的重疊區(qū)域進行配準處理;根據(jù)圖像融合算法將配 準處理后的第二圖像集中每兩個相鄰圖像進行拼接處理,得到第二全景圖像。
[0125] 處理子模塊443,用于在第二全景圖像達到預(yù)設(shè)拼接標(biāo)準時,根據(jù)第二預(yù)設(shè)算法的 參數(shù)生成與n個不同的距離對應(yīng)的距離拼接模板,其中,n屬于1~N,N為正整數(shù)。
[0126] 可選地,處理子模塊443還用于:在第二全景圖像未達到預(yù)設(shè)拼接標(biāo)準時,根據(jù)預(yù) 設(shè)規(guī)則對第二預(yù)設(shè)算法進行處理,得到目標(biāo)預(yù)設(shè)算法,并重復(fù)根據(jù)目標(biāo)預(yù)設(shè)算法對第二圖 像集中每兩個相鄰圖像進行拼接處理。
[0127] 存儲模塊45,用于將n個不同的距離和對應(yīng)的距離拼接模板的拼接參數(shù)預(yù)存在全 景相機的存儲器中,其中,n屬于1~N,N為正整數(shù)。
[0128] 需要說明的是,前述對全景圖像拼接方法實施例的解釋說明也適用于該實施例的 全景圖像拼接裝置40,其實現(xiàn)原理類似,此處不再贅述。
[0129] 本實施例中,通過獲取全景相機拍攝到的圖像得到第一圖像集,獲取第一圖像集 中每兩個相鄰圖像的重疊區(qū)域中景物的真實距離,并獲取與每個真實距離對應(yīng)的距離拼接 模板,該距離拼接模板是由全景相機預(yù)先生成并存儲的,能夠?qū)崿F(xiàn)大數(shù)據(jù)量全景圖像的實 時拼接效果,且能夠節(jié)省全景相機的硬件資源消耗。
[0130]需要說明的是,在本發(fā)明的描述中,術(shù)語"第一"、"第二"等僅用于描述目的,而不 能理解為指示或暗示相對重要性。此外,在本發(fā)明的描述中,除非另有說明,"多個"的含義 是兩個或兩個以上。
[0131]流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括 一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部 分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順 序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明 的實施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
[0132] 應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述 實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件 或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下 列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路 的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場 可編程門陣列(FPGA)等。
[0133] 本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步 驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介 質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
[0134]此外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以 是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模 塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如 果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機 可讀取存儲介質(zhì)中。
[0135] 上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0136] 在本說明書的描述中,參考術(shù)語"一個實施例"、"一些實施例"、"示例"、"具體示 例"、或"一些示例"等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特 點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不 一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何 的一個或多個實施例或示例中以合適的方式結(jié)合。
[0137] 盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例 性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述 實施例進行變化、修改、替換和變型。
【主權(quán)項】
1. 一種全景圖像拼接方法,其特征在于,包括以下步驟: 獲取全景相機拍攝到的圖像,得到第一圖像集; 根據(jù)第一預(yù)設(shè)算法動態(tài)獲取所述第一圖像集中每兩個相鄰圖像的重疊區(qū)域中景物的 真實距離,并獲取與每個所述真實距離對應(yīng)的距離拼接模板; 根據(jù)所述對應(yīng)的距離拼接模板的拼接參數(shù),對所述第一圖像集中每兩個相鄰圖像進行 拼接處理,得到第一全景圖像。2. 如權(quán)利要求1所述的全景圖像拼接方法,其特征在于,在所述獲取全景相機拍攝到的 圖像,得到第一圖像集之前,還包括: 生成與η個不同的距離對應(yīng)的距離拼接模板; 將所述η個不同的距離和所述對應(yīng)的距離拼接模板的拼接參數(shù)預(yù)存在全景相機的存儲 器中,其中,η屬于1~Ν,Ν為正整數(shù)。3. 如權(quán)利要求2所述的全景圖像拼接方法,其特征在于,所述生成與η個不同的距離對 應(yīng)的距離拼接模板,包括: 獲取所述全景相機對預(yù)設(shè)場景拍攝到的圖像,得到第二圖像集; 根據(jù)第二預(yù)設(shè)算法對所述第二圖像集中每兩個相鄰圖像進行拼接處理,得到第二全景 圖像,并判斷所述第二全景圖像是否達到預(yù)設(shè)拼接標(biāo)準; 如果所述第二全景圖像達到所述預(yù)設(shè)拼接標(biāo)準,則根據(jù)所述第二預(yù)設(shè)算法的參數(shù)生成 所述與η個不同的距離對應(yīng)的距離拼接模板,其中,η屬于1~Ν,Ν為正整數(shù)。4. 如權(quán)利要求3所述的全景圖像拼接方法,其特征在于,所述判斷所述第二全景圖像是 否達到預(yù)設(shè)拼接標(biāo)準后,還包括: 如果所述第二全景圖像未達到所述預(yù)設(shè)拼接標(biāo)準,則根據(jù)預(yù)設(shè)規(guī)則對所述第二預(yù)設(shè)算 法進行處理,得到目標(biāo)預(yù)設(shè)算法,并重復(fù)根據(jù)所述目標(biāo)預(yù)設(shè)算法對所述第二圖像集中每兩 個相鄰圖像進行拼接處理。5. 如權(quán)利要求1所述的全景圖像拼接方法,其特征在于,所述第一預(yù)設(shè)算法為雙目測距 算法。6. 如權(quán)利要求4所述的全景圖像拼接方法,其特征在于,所述第二預(yù)設(shè)算法包括圖像預(yù) 處理算法、圖像配準算法和圖像融合算法。7. 如權(quán)利要求6所述的全景圖像拼接方法,其特征在于,所述根據(jù)第二預(yù)設(shè)算法對所述 第二圖像集中每兩個相鄰圖像進行拼接處理,得到第二全景圖像,包括: 根據(jù)所述圖像預(yù)處理算法將所述第二圖像集中的每個圖像的非線性像素坐標(biāo)轉(zhuǎn)化為 線性像素坐標(biāo),得到轉(zhuǎn)化后的第二圖像集; 根據(jù)所述圖像配準算法對所述轉(zhuǎn)化后的第二圖像集中每兩個相鄰圖像的重疊區(qū)域進 行配準處理; 根據(jù)所述圖像融合算法將配準處理后的所述第二圖像集中每兩個相鄰圖像進行拼接 處理,得到所述第二全景圖像。8. 如權(quán)利要求1-3任一項所述的全景圖像拼接方法,其特征在于,所述全景相機包括至 少兩個的鏡頭。9. 一種全景圖像拼接裝置,其特征在于,包括: 第一獲取模塊,用于獲取全景相機拍攝到的圖像,得到第一圖像集; 第二獲取模塊,用于根據(jù)第一預(yù)設(shè)算法動態(tài)獲取所述第一圖像集中每兩個相鄰圖像的 重疊區(qū)域中景物的真實距離,并獲取與每個所述真實距離對應(yīng)的距離拼接模板; 拼接模塊,用于根據(jù)所述對應(yīng)的距離拼接模板的拼接參數(shù),對所述第一圖像集中每兩 個相鄰圖像進行拼接處理,得到第一全景圖像。10. 如權(quán)利要求9所述的全景圖像拼接裝置,其特征在于,還包括: 生成模塊,用于生成與η個不同的距離對應(yīng)的距離拼接模板; 存儲模塊,用于將所述η個不同的距離和所述對應(yīng)的距離拼接模板的拼接參數(shù)預(yù)存在 全景相機的存儲器中,其中,η屬于1~Ν,Ν為正整數(shù)。11. 如權(quán)利要求10所述的全景圖像拼接裝置,其特征在于,所述生成模塊包括: 獲取子模塊,用于獲取所述全景相機對預(yù)設(shè)場景拍攝到的圖像,得到第二圖像集; 拼接子模塊,用于根據(jù)第二預(yù)設(shè)算法對所述第二圖像集中每兩個相鄰圖像進行拼接處 理,得到第二全景圖像,并判斷所述第二全景圖像是否達到預(yù)設(shè)拼接標(biāo)準; 處理子模塊,用于在所述第二全景圖像達到所述預(yù)設(shè)拼接標(biāo)準時,根據(jù)所述第二預(yù)設(shè) 算法的參數(shù)生成所述與η個不同的距離對應(yīng)的距離拼接模板,其中,η屬于1~Ν,Ν為正整數(shù)。12. 如權(quán)利要求11所述的全景圖像拼接裝置,其特征在于,所述處理子模塊還用于: 在所述第二全景圖像未達到所述預(yù)設(shè)拼接標(biāo)準時,根據(jù)預(yù)設(shè)規(guī)則對所述第二預(yù)設(shè)算法 進行處理,得到目標(biāo)預(yù)設(shè)算法,并重復(fù)根據(jù)所述目標(biāo)預(yù)設(shè)算法對所述第二圖像集中每兩個 相鄰圖像進行拼接處理。13. 如權(quán)利要求9所述的全景圖像拼接裝置,其特征在于,所述第一預(yù)設(shè)算法為雙目測 距算法。14. 如權(quán)利要求12所述的全景圖像拼接裝置,其特征在于,所述第二預(yù)設(shè)算法包括圖像 預(yù)處理算法、圖像配準算法和圖像融合算法。15. 如權(quán)利要求14所述的全景圖像拼接裝置,其特征在于,所述拼接子模塊還用于: 根據(jù)所述圖像預(yù)處理算法將所述第二圖像集中的每個圖像的非線性像素坐標(biāo)轉(zhuǎn)化為 線性像素坐標(biāo),得到轉(zhuǎn)化后的第二圖像集; 根據(jù)所述圖像配準算法對所述轉(zhuǎn)化后的第二圖像集中每兩個相鄰圖像的重疊區(qū)域進 行配準處理; 根據(jù)所述圖像融合算法將配準處理后的所述第二圖像集中每兩個相鄰圖像進行拼接 處理,得到所述第二全景圖像。16. 如權(quán)利要求9-11任一項所述的全景圖像拼接裝置,其特征在于,所述全景相機包括 至少兩個的鏡頭。
【文檔編號】G06T5/50GK105894451SQ201610196006
【公開日】2016年8月24日
【申請日】2016年3月30日
【發(fā)明人】薛琪, 宋金貴, 王乾, 王一乾, 德偉龍, 陳菊紅
【申請人】沈陽泰科易科技有限公司