王昕
[摘 要]碎紙拼接技術(shù)是指利用紙質(zhì)碎塊文件所攜帶的信息,對(duì)其進(jìn)行準(zhǔn)確高效的復(fù)原。針對(duì)由碎紙機(jī)規(guī)則縱切或是規(guī)則橫縱切所得碎紙片,通過(guò)碎片信息導(dǎo)入、圖像邊緣提取和骨架特征對(duì)比等步驟,給出了基于matlab圖像處理的拼接復(fù)原方法,以及復(fù)原最終的完整效果圖。
[關(guān)鍵詞]圖像拼接 圖像提取 膨脹算法 matlab
[中圖分類號(hào)] G642.4 [文獻(xiàn)標(biāo)識(shí)碼] A [文章編號(hào)] 2095-3437(2015)08-0133-02
碎紙片的拼接復(fù)原問(wèn)題在現(xiàn)實(shí)生活中經(jīng)常碰到,其技術(shù)在司法物證復(fù)原、歷史文獻(xiàn)修復(fù)以及軍事情報(bào)獲取等領(lǐng)域都有著重要的應(yīng)用。[1]
用計(jì)算機(jī)進(jìn)行拼接復(fù)原時(shí),首先要對(duì)碎片信息化,即將碎片信息導(dǎo)入電腦(掃描,拍照導(dǎo)入),其次需要進(jìn)行圖像信息提取,最后采用算法對(duì)圖像信息進(jìn)行處理。[2] [3]
本文主要針對(duì)兩種情況,即對(duì)于給定的來(lái)自同一頁(yè)印刷文字文件的碎紙機(jī)破碎紙片的兩種情形:僅縱切或是既縱切又橫切,建立碎紙片拼接復(fù)原模型和算法,將碎片數(shù)據(jù)進(jìn)行拼接復(fù)原,并將復(fù)原結(jié)果以圖片形式表示。
其中文件僅被縱切的情形,假設(shè)每頁(yè)紙被切為19條碎片,每條碎片被編號(hào)為1000.bmp、1001.bmp、…1018.bmp,其中部分碎片如圖1所示;
■
圖1 部分縱切碎片
對(duì)于文件既被縱切又被橫切的情形,假設(shè)每頁(yè)紙被切為11×19個(gè)碎片,每個(gè)碎片被編號(hào)為2000.bmp、2001.bmp、…2208.bmp,部分碎片如圖2所示。
■
圖2 部分縱切且橫切碎片
一、縱切碎片的拼接復(fù)原
首先讀取圖像文件的信息,文檔為索引圖像,由于其索引表的RGB值在每一個(gè)索引點(diǎn)上都相同,所以表現(xiàn)出的是灰度不同的黑白信息。模型的任務(wù)是對(duì)圖像復(fù)原,因此在處理時(shí)只需要按簡(jiǎn)單的灰度圖像進(jìn)行處理即可,但仍有如下難點(diǎn):
其一,碎片圖像輪廓特征不明顯,都為規(guī)則矩形;
其二,圖像內(nèi)部特征明顯,但是算法容易出現(xiàn)錯(cuò)誤(如有的行沒有文字)。
針對(duì)上述難點(diǎn)可采用如下方法解決[4] :
首先,用matlab圖像處理工具對(duì)其進(jìn)行骨架化,直接在圖像邊沿比對(duì)骨架特征(抽取到三個(gè)像素以內(nèi)),如果完全相同則說(shuō)明兩張圖像有左右關(guān)系。
其次,用matlab圖像處理工具對(duì)每一個(gè)碎片進(jìn)行邊緣提取(先做膨脹運(yùn)算后做腐蝕運(yùn)算),對(duì)碎片觀察,保持1008.bmp為復(fù)原后的最左側(cè)部分,以其右側(cè)為起始點(diǎn)進(jìn)行邊界邏輯值比較。如果兩張圖像相似度最高,則說(shuō)明兩張圖像為左右關(guān)系。
再次,創(chuàng)建圖像邊緣白布原始信息為1780*72擴(kuò)展為1780*90,借助工具箱對(duì)邊緣進(jìn)行相似處理,比對(duì)多出來(lái)的信息與另一圖像邊緣的相似度,如果大于某個(gè)閥值則說(shuō)明兩圖像有左右關(guān)系。
最后,創(chuàng)建字體庫(kù),提取一個(gè)圖像的邊緣上的某個(gè)文字,用字體庫(kù)的圖形陣差集,進(jìn)行比對(duì),相似度大于某個(gè)閥值說(shuō)明兩張圖像有左右關(guān)系。
具體處理時(shí),在讀入數(shù)據(jù)時(shí)將其放在Cell格式的動(dòng)態(tài)結(jié)合中,由于經(jīng)過(guò)處理后的碎片邊緣的值會(huì)因?yàn)檫吘壨獾挠绊懚兓催吘壢孔優(yōu)榘咨?,如圖3所示。
■
圖3 碎片邊緣圖
這樣文字的骨架可以在邊界處凸顯出來(lái),通過(guò)對(duì)這些骨架點(diǎn)記錄并將其存入一個(gè)矩陣中,如
Org=[10 11 12 67 68 69 110 115 116];
如果另一個(gè)矩陣為
Tmp=[100 110 120 670 680 690 1100 1150 1160],則兩個(gè)矩陣之差的范數(shù)值一定很大。假定當(dāng)前范數(shù)值為最小值,通過(guò)對(duì)最小值的不斷更新最終找出和矩陣Org范數(shù)值相差最小的碎片所在的列,即可認(rèn)為兩者有左右關(guān)系。
由于可以通過(guò)肉眼觀察及簡(jiǎn)單的算法找出最左邊一列,因此由“參照值”和“遞推公式”可以查出所有的正確圖像。該算法用了圖像處理工具箱的bwperim命令,用法如下所示。
BW2=bwperim(BW1)returns a binary image containing only the perimeter pixels of objects in the input image BW1.A pixel is part of the perimeter if it is nonzero and it is connected to at least one zero-valued pixel.The default connectivity is 4 for two dimensions,6 for three dimensions,and conndef(ndims(BW),minimal)for higher dimensions.
其功能是提取一個(gè)連通區(qū)域的邊界,由于該問(wèn)題的關(guān)鍵在邊緣,而該命令在邊緣時(shí)能產(chǎn)生如圖3的效果,所以選擇該算法可以方便快捷的完成任務(wù)。嘗試過(guò)提取骨架,并且去除尖齒,但是效果不理想,如圖4所示,且邊緣特征信息量較大,計(jì)算方法較為復(fù)雜。
■
圖4 提取骨架效果圖
對(duì)于規(guī)則縱切問(wèn)題,上述方法均可,問(wèn)題的關(guān)鍵是提取文字的中心,matlab軟件有可用的工具箱,但要經(jīng)過(guò)復(fù)雜的修改。
二、縱切且橫切碎片的拼接復(fù)原
當(dāng)紙質(zhì)文件既被縱切也被橫切之后,有兩個(gè)重要的問(wèn)題出現(xiàn):
其一,復(fù)原后的左右邊界不能確定;
其二,碎片有可能在空白部分分開,分開的位置也是隨機(jī)的,從而很難用上面的方法解答。因此考慮以下解法:
首先,確定行數(shù)相同的序號(hào),在行數(shù)相同的序號(hào)中進(jìn)行類似縱切問(wèn)題方法的排序。雖然沒有確定的首列,但是可以左右同時(shí)進(jìn)行排序。
其次,用三個(gè)間隔固定寬度的(寬度為行間距,每?jī)蓚€(gè)之間為行間距加字高)圖像進(jìn)行由上到下的逐行比對(duì),若有三個(gè)白條都比對(duì)上后,記下平移位置,最后把平移位置相同的歸為一類,即為同行。
再次,找出可能同行的序列,可用對(duì)字符中心值進(jìn)行膨脹,然后再比較相同。接著排序,多出來(lái)的部分放回?cái)?shù)據(jù)進(jìn)行下一次同樣的操作。
最后,找到任意一個(gè)碎片,通過(guò)對(duì)四周進(jìn)行邊緣檢測(cè)找到相鄰元素,依次遞歸計(jì)算,直到有純白的邊沿(上下)出現(xiàn)。此時(shí)通過(guò)對(duì)行間的比較確定上下純白的連接關(guān)系,如圖5所示。
■
圖5 純白連接關(guān)系效果圖
用于借助matlab工具箱提取全部碎片的文字中心位置,直接調(diào)用工具箱的命令可以進(jìn)行中心提取,設(shè)定程序中的輸入?yún)?shù)為已填充的全部圖像信息,而輸出參數(shù)為每個(gè)圖像文字中心Cell型。經(jīng)過(guò)算法改進(jìn)后,文字填充后的效果如圖6所示,最終復(fù)原拼接文件如圖7所示。
■
圖6 改進(jìn)算法效果圖
■
圖7 碎紙片復(fù)原效果圖
三、結(jié)論
圖像拼接技術(shù)作為數(shù)字圖像處理的一個(gè)重要分支,不斷與其他學(xué)科結(jié)合,其應(yīng)用日益廣泛。本文主要研究了圖像拼接技術(shù),分析了由碎紙機(jī)縱切或者橫縱切所得的碎紙片,在matlab算法支持下的拼接復(fù)原技術(shù)與方法。該方法在理論上還處于初級(jí)階段,還需對(duì)其做大量深入、細(xì)致的研究工作。
[ 注 釋 ]
[1] 陶波,于志偉,鄭筱祥.圖像的自動(dòng)拼接[J].中國(guó)生物醫(yī)學(xué)工程學(xué)報(bào),1997(4):29-35.
[2] 鐘家強(qiáng),王潤(rùn)生.基于邊緣的圖像配準(zhǔn)改進(jìn)算法[J].計(jì)算機(jī)工程與科學(xué),2001(6):25-29.
[3] 羅智中.基于文字特征的文檔碎紙片半自動(dòng)拼接[J].計(jì)算機(jī)工程與應(yīng)用,2012(5):207-210.
[4] 楊高波,杜青松.MATLAB圖像/視頻處理應(yīng)用及實(shí)例[M].電子工業(yè)出版社,2010.
[責(zé)任編輯:鐘 嵐]