一種二維非規(guī)則碎片拼接復原的方法
【專利摘要】本發(fā)明提供一種二維非規(guī)則碎片拼接復原的方法,將二維非規(guī)則的碎片圖像進行數(shù)據(jù)化,將數(shù)據(jù)化后的各個碎片圖像進行比較是否存在交集,有交集再基于向量模的碎片匹配算法求曲線最相似的碎片,并進行碎片拼接。本發(fā)明的方法可用于文物碎片拼接等修復模擬,也用于公安部門對破損碎片進行修補的技術(shù)支持,也可用于拼圖游戲;提高了工作效率。
【專利說明】一種二維非規(guī)則碎片拼接復原的方法
【技術(shù)領域】
[0001]本發(fā)明涉及非規(guī)則碎片有序拼接修復的【技術(shù)領域】,尤其涉及一種二維非規(guī)則碎片拼接復原的方法。
【背景技術(shù)】
[0002]非規(guī)則圖片匹配是通過對二維碎片集合模型的分析、變換、特征提取等手段實現(xiàn)對碎片的識別、相似性度量和拼合,這一技術(shù)在文物復原、虛擬現(xiàn)實、測量建模等領域有著重要應用。如考古出土的一些破碎的珍貴文物需要復原以重現(xiàn)歷史文物的形貌;公安機關在破案時有可能發(fā)現(xiàn)被撕毀的照片、文件,需要將這些破損的碎片復原加以鑒別。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術(shù)問題,在于提供一種二維非規(guī)則碎片拼接復原的方法,將構(gòu)建不規(guī)則形狀的控件模板,并將圖片碎片繪制在該控件模板上,采用基于向量模碎片匹配算法使碎片得以拼接成完整有序圖。
[0004]本發(fā)明是這樣實現(xiàn)的:一種二維非規(guī)則碎片拼接復原的方法,將二維非規(guī)則的碎片圖像進行數(shù)據(jù)化,將數(shù)據(jù)化后的各個碎片圖像進行比較是否存在交集,有交集再基于向量模的碎片匹配算法求曲線最相似的碎片,并進行碎片拼接。
[0005]進一步地,所述將二維非規(guī)則的碎片圖像進行數(shù)據(jù)化,具體包括如下步驟:
[0006]步驟10、使用制圖工具將二維非規(guī)則的碎片圖像轉(zhuǎn)換獲得包含碎片形狀數(shù)據(jù)的psd文件;
[0007]步驟11、用微軟產(chǎn)品Expression Blend獲取各個psd文件中碎片形狀數(shù)據(jù);
[0008]步驟12、使用可擴展標記語言,創(chuàng)建各個控件模板,各個控件模板的形狀數(shù)據(jù)是所述步驟11中獲取的各個碎片形狀數(shù)據(jù);
[0009]步驟13、使用WPF技術(shù),將各個二維非規(guī)則的碎片圖像繪制到所述各個控件模板中。
[0010]進一步地,將數(shù)據(jù)化后的各個碎片圖像進行比較是否存在交集,有交集再基于向量模的碎片匹配算法求曲線最相似的碎片,并進行碎片拼接;
[0011]具體為:在各個控件模板中的碎片形狀數(shù)據(jù)的位置進行隨機打亂,并選擇其中任意一控制模板的碎片形狀數(shù)據(jù),并移動尋找與其匹配的碎片,先檢測選中的碎片與其他碎片形狀數(shù)據(jù)是否有交集,否,則不進行操作,繼續(xù)檢測;是,則使用基于向量模的碎片匹配算法,獲得各碎片之間交集的曲線相似度,尋找選中的碎片與所有碎片的曲線相似度,如果相似度最高的碎片為當前有交集的碎片,則將兩個碎片旋轉(zhuǎn)到相同方向,并進行位移,以使碎片曲線相似的邊相連;繼續(xù)下一塊碎片的判斷,使各個碎片與曲線最相似的碎片相互連接,這樣各個無序的碎片連接為有序完整的圖像,從而完成整個圖像的修復過程。
[0012]進一步地,所述制圖工具為位圖Photoshop、工程AutoCAD、矢量Illustrator或者矢量 CorelDRAW。[0013]進一步地,所述可擴展標記語目為:HTML語目、XHTML語目或者XML語目。
[0014]本發(fā)明具有如下優(yōu)點:各個控件模板可以被設置為任意形狀,并且控件模板之間可以實現(xiàn)無縫連接,每個控件模板顯示一張完整圖的一部分,所有控件模板進行拼接后,可獲得一張完整而有序的圖片,正確率高,算法效率高。此外,由于是通過一個個控件模板進行組合的,則系統(tǒng)的cpu占用率合理,畫面不卡頓,性能穩(wěn)定。
【專利附圖】
【附圖說明】
[0015]圖1為本發(fā)明方法流程示意圖。
[0016]圖2為本發(fā)明中碎片Ai的結(jié)構(gòu)示意圖。
【具體實施方式】
[0017]請參閱圖1所示,本發(fā)明為一種二維非規(guī)則碎片拼接復原的方法,將二維非規(guī)則的碎片圖像進行數(shù)據(jù)化,具體包括如下步驟:
[0018]步驟10、使用制圖工具將二維非規(guī)則的碎片圖像轉(zhuǎn)換獲得包含碎片形狀數(shù)據(jù)的psd文件;所述制圖工具為位圖Photoshop、工程AutoCAD、矢量Illustrator或者矢量CorelDRAW ;
[0019]步驟11、用微軟產(chǎn)品Expression Blend獲取各個psd文件中碎片形狀數(shù)據(jù);
[0020]步驟12、使用可擴展標記語言,創(chuàng)建各個控件模板,各個控件模板的形狀數(shù)據(jù)是所述步驟11中獲取的各個碎片形狀數(shù)據(jù);所述可擴展標記語言為:HTML語言、XHTML語言或者XML語言;
[0021]步驟13、使用WPF技術(shù),將各個二維非規(guī)則的碎片圖像繪制到所述各個控件模板中;
[0022]將數(shù)據(jù)化后的各個碎片圖像進行比較是否存在交集,有交集再基于向量模的碎片匹配算法求曲線最相似的碎片,并進行碎片拼接;具體為:
[0023]在各個控件模板中的碎片形狀數(shù)據(jù)的位置進行隨機打亂,并選擇其中任意一控制模板的碎片形狀數(shù)據(jù),并移動尋找與其匹配的碎片,先檢測選中的碎片與其他碎片形狀數(shù)據(jù)是否有交集,否,則不進行操作,繼續(xù)檢測;是,則使用基于向量模的碎片匹配算法,獲得各碎片之間交集的曲線相似度,尋找選中的碎片與所有碎片的曲線相似度,如果相似度最高的碎片為當前有交集的碎片,則將兩個碎片旋轉(zhuǎn)到相同方向,并進行位移,以使碎片曲線相似的邊相連;繼續(xù)下一塊碎片的判斷,使各個碎片與曲線最相似的碎片相互連接,這樣各個無序的碎片連接為有序完整的圖像,從而完成整個圖像的修復過程。
[0024]下面結(jié)合一具體實施例對本發(fā)明做進一步說明。
[0025]步驟19、使用制圖工具PhotoShop獲得包含碎片形狀數(shù)據(jù)的psd文件;打開PhotoShop,導入格式為png的碎片圖片,并按住Ctrl,然后點擊右下方的圖層,選中選區(qū)。選擇路徑,然后選擇從選區(qū)生成路徑,選擇圖層菜單,添加圖層矢量蒙版,當前路徑,保存為PSD格式。
[0026]步驟20、使用微軟Expression Blend獲取步驟19保存的psd文件中碎片形狀數(shù)據(jù)。打開Expression Blend,新建一個WPF工程,在文件菜單中選擇“導入Adobe photoshop文件”菜單項,導入步驟10中保存的psd格式文件。勾選“檢查所有導入層”。拷貝XML文件中Path.Data字段數(shù)據(jù)。
[0027]步驟30、使用XML語言,創(chuàng)建各個控件模板,該各個控件模板的形狀數(shù)據(jù)是步驟20中獲取的碎片形狀數(shù)據(jù)。打開VS2010,創(chuàng)建WPF工程,窗口 XML文件中創(chuàng)建模板,該模板Path元素屬性Data值為步驟20中得到的Path.Data數(shù)據(jù)。在源代碼中將這些數(shù)據(jù)轉(zhuǎn)換為點數(shù)據(jù)。
[0028]步驟40、使用基于向量模板的碎片匹配算法尋找最相似相鄰碎片。
[0029]將步驟30獲得的點數(shù)據(jù)存儲在一個數(shù)組中。
[0030]假設取Ai點到Aj的匹配邊(即兩個匹配碎片的公共邊)是(PiPw-Pj),則根據(jù)碎片Ai的邊界計算得到的距離矩陣Di的第i行必然與和它匹配的碎片的邊界計算得到的距離矩陣Dj的某一行(假設是第K行)有最大匹配(連續(xù)的距離值相等的序列達到最長),即:
[0031 ] {d (PiPw),d (PiPit2),…d (PiPj)} = {d (PkPH),d (PkPk+2),…d (PkPk+(jM))},d (PiPj)為匹配邊之間的距離;
[0032]在此,匹配的碎片的邊界提取方向是相反的,由此生成的距離矩陣才能匹配上。假設碎片Ai的邊界提取方向是順時針,而碎片Aj的邊界提取方向不是逆時針而是順時針的話,則需要將其距離矩陣沿著副對角線翻轉(zhuǎn)即可得到沿逆時針計算的距離矩陣,然后用同樣方法與距離矩陣比較,依然能找到正確的最大匹配?;谀V稻仃嚨乃槠畲笃ヅ涠纹ヅ渌惴枋鋈缦?
[0033]如圖2所示,碎片Ai的邊界曲線,邊界%是由提取邊界時確定的起點S(P1)到終點T(Pn)的一系列離散點構(gòu)成的封閉環(huán)。將P1到各個點的距離作為矩陣的第一行,再計算P2到各個點的距離并作為第二行,依次類推。
[0034]輸入:
【權(quán)利要求】
1.一種二維非規(guī)則碎片拼接復原的方法,其特征在于:將二維非規(guī)則的碎片圖像進行數(shù)據(jù)化,將數(shù)據(jù)化后的各個碎片圖像進行比較是否存在交集,有交集再基于向量模的碎片匹配算法求曲線最相似的碎片,并進行碎片拼接。
2.根據(jù)權(quán)利要求1所述的一種二維非規(guī)則碎片拼接復原的方法,其特征在于:所述將二維非規(guī)則的碎片圖像進行數(shù)據(jù)化,具體包括如下步驟: 步驟10、使用制圖工具將二維非規(guī)則的碎片圖像轉(zhuǎn)換獲得包含碎片形狀數(shù)據(jù)的psd文件; 步驟11、用微軟產(chǎn)品Expression Blend獲取各個psd文件中碎片形狀數(shù)據(jù); 步驟12、使用可擴展標記語言,創(chuàng)建各個控件模板,各個控件模板的形狀數(shù)據(jù)是所述步驟11中獲取的各個碎片形狀數(shù)據(jù); 步驟13、使用WPF技術(shù),將各個二維非規(guī)則的碎片圖像繪制到所述各個控件模板中。
3.根據(jù)權(quán)利要求2所述的一種二維非規(guī)則碎片拼接復原的方法,其特征在于:將數(shù)據(jù)化后的各個碎片圖像進行比較是否存在交集,有交集再基于向量模的碎片匹配算法求曲線最相似的碎片,并進行碎片拼接; 具體為:在各個控件模板中的碎片形狀數(shù)據(jù)的位置進行隨機打亂,并選擇其中任意一控制模板的碎片形狀數(shù)據(jù),并移動尋找與其匹配的碎片,先檢測選中的碎片與其他碎片形狀數(shù)據(jù)是否有交集,否,則不進行操作,繼續(xù)檢測;是,則使用基于向量模的碎片匹配算法,獲得各碎片之間交集的曲線相似度,尋找選中的碎片與所有碎片的曲線相似度,如果相似度最高的碎片為當前有交集的碎片,則將兩個碎片旋轉(zhuǎn)到相同方向,并進行位移,以使碎片曲線相似的邊相連;繼續(xù)下一塊碎片的判斷,使各個碎片與曲線最相似的碎片相互連接,這樣各個無序的碎片連接為有序完整的圖像,從而完成整個圖像的修復過程。
4.根據(jù)權(quán)利要求2所述的一種二維非規(guī)則碎片拼接復原的方法,其特征在于:所述制圖工具為位圖Photoshop、工程AutoCAD、矢量Illustrator或者矢量CorelDRAW。
5.根據(jù)權(quán)利要求2所述的一種二維非規(guī)則碎片拼接復原的方法,其特征在于:所述可擴展標記語言為=HTML語言、XHTML語言或者XML語言。
【文檔編號】G06T3/40GK103679634SQ201310669257
【公開日】2014年3月26日 申請日期:2013年12月10日 優(yōu)先權(quán)日:2013年12月10日
【發(fā)明者】丁萬年, 洪文潔, 陳日良, 賀小陽 申請人:銳達互動科技股份有限公司