




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
其中:條件1是判斷碎紙片是否處于同一行,即Step2;條件2是判斷特征矩陣縱列是否有連續(xù)的4個1,即Step4;公式1是和;:與每一張碎片匹配完成后能匹配的數(shù)組;:與每一張碎片匹配完成后能不能匹配的數(shù)組;:碎片的匹配率;:各張碎片匹配率中的最大值。Step4:優(yōu)化處理,找到匹配度排序建立最大橫向匹配率和最大縱向匹配率兩個目標(biāo)規(guī)劃模型進(jìn)行優(yōu)化。目標(biāo)1:目標(biāo)2:而對于英文的碎片拼接,處理方法與中文的碎片拼接類似,但是在約束條件上有一些微小的差異:每一個字符所占的像素變了,行間距改變了等等。但是只需要對中文的優(yōu)化模型進(jìn)行稍微改動即可,同中文的碎紙片拼接模型一樣,英文的碎片拼接也建立了最大橫向匹配率和最大縱向匹配率兩個目標(biāo)規(guī)劃模型進(jìn)行優(yōu)化。目標(biāo)1:目標(biāo)2:結(jié)果如下:表2針對樣本的匹配率排序000001002003……205206207208第一0.83110.8……1111第二0.820.9410.450.7510.61第三0.730.880.860.290.7310.480.67第四0.730.880.830.120.520.890.450.66第五0.680.830.740.120.440.870.450.64第六0.620.790.680.110.420.860.420.61第七0.60.750.670.080.390.850.370.58第八0.570.740.670.070.31第九0.570.70.650.070.330.740.120.5第十0.570.550.650.040.320.730.070.52.對匹配進(jìn)行進(jìn)一步確認(rèn)通過對最大匹配率模型的求解,可以得到每一張碎紙片與其余208張的匹配率,見表1,通過對該表的統(tǒng)計,我們發(fā)現(xiàn)匹配率都很高的情況下,結(jié)果可能與事實不符,這時就要加入人工干預(yù)。VB是一種可視化編程,面向?qū)ο蟮某绦蛟O(shè)計思想,事件驅(qū)動的編程機制,結(jié)構(gòu)化的程序設(shè)計語言,因此我們通過VB來實現(xiàn)人工干預(yù)。首先我們根據(jù)處于邊緣的紙片特征矩陣的特點,可以確定原文件位于左上角的碎紙片,其二值化矩陣的第一行和第一列均為0,且滿足頁邊距大小。然后以該紙片為準(zhǔn),選出與其橫向匹配率最高的10張碎紙片(見表2)。通過文字內(nèi)容和邏輯判斷進(jìn)行匹配,若人工判斷匹配(見圖8),那么便記錄下該紙片的編號,若不匹配(見圖9),則從剩余的碎紙片中繼續(xù)匹配。又以新的紙片為準(zhǔn),繼續(xù)橫向匹配,若匹配至第19張,則跳到下一行(見圖10),以左上角的碎片為準(zhǔn),進(jìn)行縱向匹配,匹配方法與橫向的相同,匹配完第二行第一個碎片后又繼續(xù)進(jìn)行橫向匹配;若無法匹配至最后一列,則自動往下進(jìn)行一次縱向匹配,接著又進(jìn)行橫向匹配,直至最后一列,此時彈出對話框,要求重新輸入起始圖片編號。但是這種匹配過程中,肯定會出現(xiàn)圖片空白的情況,我們比對實時的結(jié)果輸出,確定空白位置,并依照其位置周圍的圖片號繼續(xù)進(jìn)行匹配,直至最后完全匹配。圖7匹配順序走向圖圖8碎紙片匹配圖9碎紙片不匹配圖10切換至縱向匹配問題3的模型建立與求解Step1:計算匹配率方法的改進(jìn)我們繼續(xù)延用第二問的模型,模型的建立與求解與問題2的步驟和方法一致,但是在求解碎紙片的匹配率上,我們讓每張碎紙片的a、b兩面分別于其余碎紙片的a、b兩面進(jìn)行匹配,如圖11:圖11碎片a、b兩面匹配其中:表示同一張碎紙片a、b兩面對應(yīng)的特征矩陣表示另一張碎紙片a、b兩面對應(yīng)的特征矩陣箭頭是帶有方向性的,由表示以對應(yīng)的碎紙片為準(zhǔn),用對應(yīng)的碎紙片進(jìn)行匹配,即對應(yīng)的碎紙片在左,對應(yīng)的碎紙片在右。由此可以得到4個匹配率,我們選取其中最大的匹配率作為對的匹配率。結(jié)果如下:編號000001002003004……2052062072080000.240.8100.5700.6200.570001000000000002000000000003000000000004000000000………………20300000……00002040000000002050.380.4800.900.900.6202060101000002070.50.600.900.9500.350208000000000Step2:利用匹配率排序的結(jié)果進(jìn)行最終匹配然后按照碎紙片的編號順序進(jìn)行循環(huán),再給每一張碎紙片挑出匹配率最大的前10張碎紙片,用VB窗口分別對這10張碎紙片的兩個面進(jìn)行人工判斷,最終得到附件5的碎紙片復(fù)原順序。按照我們最終得到的碎紙片編號順序進(jìn)行拼接,即得到原文件。結(jié)果見附錄。六、模型評價與推廣(一)模型的評價1)優(yōu)點:1.充分利用了碎片邊緣文字信息,按照字符的特點,如筆畫、行間距等特點進(jìn)行條件篩選,特別是利用了字符的筆畫是連續(xù)的這個特征,建立了以尋找最大匹配率對應(yīng)的碎紙片為目標(biāo)的模型,操作簡便,容易理解,匹配快。2.將自動拼接與人工干預(yù)很好的結(jié)合。在選擇匹配碎片時,對于一張碎片同時有多張匹配碎片時,加入人工干預(yù),從中進(jìn)行篩選,將計算機與人腦有機結(jié)合,既減小了計算機機械化拼接造成的誤差,又大大減少了純手工拼接的工作量,高效、準(zhǔn)確。對于中等偏少量的碎紙片拼接問題,該模型能很好的解決。2)缺點:1.對于大量的碎紙片拼接,所需要的人工干預(yù)就會變多,碎片拼接復(fù)原就會需要大量時間,匹配過程就會變得繁瑣。所以在大量碎紙片拼接問題的推廣上,就有一定的局限性。(二)改進(jìn)改進(jìn):我們考慮通過圖論的方法求出最大匹配鏈,從而減少人工干預(yù)。我們得到了各張碎紙片之間的匹配率,由于每一張碎紙片可能同時與多張碎紙片有相等的最大匹配率,但是隨著鏈的增長,對每一條鏈上每相鄰兩個匹配碎片的匹配率相加,直至最后一張碎紙片,選出最大匹配鏈即為最佳匹配方案。(見圖12)圖12碎片匹配鏈但是這樣得到的最大匹配鏈?zhǔn)钦w匹配程度較高的方案,對于局部的匹配程度可能較低,這時就需要加入人工干預(yù),將局部匹配不好的碎紙片挑出來,根據(jù)文字內(nèi)容進(jìn)行重新匹配。雖然用圖論解決該題仍然需要人工干預(yù),但是局部匹配不好的碎紙片畢竟是少數(shù),從而又在原模型的基礎(chǔ)上減少了人工干預(yù),將更多的工作交給計算機進(jìn)行處理,減輕了相關(guān)人員的負(fù)擔(dān)。七、參考文獻(xiàn)[1]張翠,基于點線的文檔圖片數(shù)字水印與碎片拼接,研究生學(xué)位論文,中國海洋大學(xué),2011;[2]羅智中,基于文字特征的文檔碎紙片半自動拼接,計算機工程與應(yīng)用,華東交通大學(xué),2012,48(5):2-4;[3]張廓,基于邊緣匹配的圖像檢索的研究,學(xué)位論文,南昌大學(xué),2006;[4]劉勝文,許高升,池英,灰度匹配與邊緣強度匹配對比研究,/view/4f768f8dcc22bcd126ff0c9b.html,2013/09/15;[5]胡軼、胡青陽、於文雪,基于模板和小圖片的拼圖方法探究,中國像圖形學(xué)報,第14卷第11期:2-5,2009;[6]盛慧,顧國慶,運用區(qū)域標(biāo)定自動機的文字圖像拼接算法,計算機應(yīng)用與軟件,第22卷第11期:1-3,2005;[7]刑楠,張婧,周一,李橋偉,朱虹,王棟,基于文字特征的碎紙機破碎文檔恢復(fù)方法,發(fā)明專利申請,西安理工大學(xué),2012。八、附件附件一復(fù)原結(jié)果8141215310216145913181171706附件二復(fù)原結(jié)果3627151811051913108121417164附件三復(fù)原結(jié)果4954651431862571921781181909511221292891188141611978676999162961317963116163726177205236168100766214230412314719150179120861952618718381484616124358118912210313019388167258910574711568313220017803320219815133170205851521652760141283159821991351273160203169134393151107115176943484183904712142124144771121499713616412758431251318210919716184110187661061502117315718120413914529641112015921804837755544206101049817217159720813815812668175451740137535693153701663219689146102154114401512071551401851081174101113194119123附件四復(fù)原結(jié)果1917511154190184210418064106414932204653967147201148170196198941131647810391801012610061728146865110729401581869824117150559589230374612719194931418812112610515511417618215122572027116582159139112963138153533812312017585501601879720331204110811613673362071351576431994517379161179143208217496111933142168621695419213311818916219711270846014681741371958491721569623991229018510913218195691671631661881111442063130341311025271781714266205101577414583134551856351691831524481771282001315212514019387894872121771240102115附件五復(fù)原結(jié)果(第一面)136b47a20a164b81b189b29a18b108a66a110a174b183b150a155a140a125a111b78b5a152a147a60b59a14a79a144a120b22a1244b192a25b44a178a76b36a10b89a143b200b86b187b131b56b138a45a137b61b94b98a121a38a30a42b84b153a186b83a39b97a175a72b93a132b87a198b181b34a156a206b173b194b169b161a11b199b90a203b162b2a139b70b41a170b151b1b166b115b65b191a37b180a149b107a88b13a24a57a142a208a64b102b17b12a28b154b197a158a58a207a116b179b184b114a35a159a73b193b163a130a21b202a53b177b16b19b92b190b50a201a31a171b146a172a122a182a40a127a188a68b8b117b167a75b63b67a46a168a157a128a195a165b106a204b141a135b27a80b0b185a176a126b74b32a69a4a77a148b85b7b3b9b145a82b205a15b101a118b129b62a52a71b33b119a160b95a51b48a133a23b54b196b112a103a55b100b106b91a49b26b113a134a104a6a123a109a96b43a99a附件五復(fù)原結(jié)果(第二面)78b111b125a140a155a150a183b174b110a66a108a18b29a189b81b164b20a47a136b89a10b36a76b178a44a25b192a124b22a120b144a79a14a59a60b147a152a5a186b153a84b42b30a38a121a98a94b61b137b45a138a56b131b187b86b200b143b199b11b161a169b194b173b206b156a34a181b198b87a132b93a72b175a97a39b83a88b107a149b180a37b191a65b115b166b1b151b170b41a70b139b2a162b203b90a114a184b179b116b207a58a158a197a154b28b12a17b102b64b208a142a57a24a13a146a171b31a201a50a190b92b19b16b177b53b202a21b130a163a193b73b159a35a165b195a128a157a168a46a67a63b75b167a117b8b68b188a127a40a182a122a172a3b7b85b148b77a4a69a32a74b126b176a185a0b80b27a135b141a204b106a23b133a48a51b95a160b119a33b71b52a62a129b118b101a15b205a82b145a9b99a43a96b109a123a6a104a134a113a26b49b91a106b100b55b103a112a196b54b程序附錄:MATLAB:%%%%%%%%第一題%%%%%%%%%%%%clearallclcsymszijiand=0;%圖片的起始幀序列號,d是當(dāng)前圖像的末尾的序號b='附件2\0';%讀取圖片文件的路徑,其中0是所有圖片名字的公共部分e='.bmp';%統(tǒng)一的文件的格式forn=0:18%要讀入的圖片數(shù),根據(jù)需要調(diào)整m=int2str(d);ifn<10s=strcat(b,'0',m,e);elses=strcat(b,m,e);end[A,map]=imread(s);%讀入的一張圖像[x,y]=size(A);fori=1:x%像素規(guī)整forj=1:yifA(i,j)>128A(i,j)=0;elseA(i,j)=255;endendendzong(:,1,d+1)=A(:,1);%zong(1980,2,19)zong(:,2,d+1)=A(:,y);d=d+1;%自加以讀入下一張圖像endforjj=1:19max=0;forzz=1:19k=0;forkk=1:1980ifzong(kk,2,jj)==zong(kk,1,zz)k=k+1;endendifmax<kmax=k;zuizhong(jj)=zz-1;%%%%zuizhong代表與此數(shù)列位次jj相對應(yīng)的照片的最匹配的照片的編號zz-1endendendxlswrite('F:\結(jié)果\1.2.xls',zuizhong)%%%%%%%%第二題%%%%%%%%%%%%橫向clearallclcsymszijiand=0;%圖片的起始幀序列號,d是當(dāng)前圖像的末尾的序號b='附件3\';%讀取圖片文件的路徑,其中0是所有圖片名字的公共部分e='.bmp';%統(tǒng)一的文件的格式biao=zeros(2,20);%統(tǒng)計上下或左右都白的圖片zz=1;hh=1;forn=0:208%要讀入的圖片數(shù),根據(jù)需要調(diào)整m=int2str(d);ifn<10s=strcat(b,'00',m,e);elseifn<100s=strcat(b,'0',m,e);elses=strcat(b,m,e);end[A,map]=imread(s);%讀入的一張圖像[x,y]=size(A);fori=1:x%像素規(guī)整forj=1:yifA(i,j)>128A(i,j)=0;elseA(i,j)=255;endendendzong(:,:,d+1)=A;zuoyou(:,1,d+1)=A(:,1);%zuoyou(1)存儲左右邊界信息zuoyou(:,2,d+1)=A(:,72);shangxia(:,1,d+1)=A(1,:);%shangxia(2)存儲上下邊界信息shangxia(:,2,d+1)=A(180,:);d=d+1;%自加以讀入下一張圖像zy=0;sx=0;jiao=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%檢測上下都白或左右都白fork=1:xifA(k,y)==255||A(k,1)==255zy=1;endendforp=1:yifA(1,p)==255||A(x,p)==255sx=1;endendifzy==0biao(1,zz)=n;zz=zz+1;endifsx==0biao(2,hh)=n;hh=hh+1;end%%%%%%%%%%%%%%%%%%%%%%%%%檢測結(jié)束返回左右都白、上下都白的編號endbiao%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%讀入圖像和初步處理%%%%%%%%%%%%%%%%%%%%%%開始計算橫向匹配度jieguo=zeros(209,209);fori=1:209pipeidu=0;zzz=0;n=0;%%%%%%%%%%%%%%尋找第一個字的最低點(參考是n,比照是m)pan=0;%%%%%%%%%%%%%%在第一行是零的情況下判斷是否經(jīng)過了1的范圍ifsum(zong(1,:,i))==0fork=1:180ifsum(zong(k,:,i))~=0n=k;pan=1;endifsum(zong(k,:,i))==0&pan==1&sum(zong(k+10,:,i))==0%%%%%%%%%%連續(xù)十行都是0且經(jīng)過了1區(qū)間breakendendelsefork=1:180ifsum(zong(k,:,i))==0&sum(zong(k+10,:,i))==0%%%%%%%%%%連續(xù)十行都是0n=k-1;breakendendend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%比照組m的計算forj=1:209pi=0;unpi=0;zuijia=1;pan=0;m=0;ifsum(zong(1,:,j))==0fork=1:180ifsum(zong(k,:,j))~=0m=k;pan=1;endifsum(zong(k,:,j))==0&pan==1&sum(zong(k+10,:,j))==0%%%%%%%%%%連續(xù)十行都是0且經(jīng)過了1區(qū)間breakendendelsefork=1:180ifsum(zong(k,:,j))==0&sum(zong(k+10,:,j))==0%%%%%%%%%%連續(xù)十行都是0m=k-1;breakendendend%%%%%%%%%%%%%%%%%%%最低點比較判斷是否要進(jìn)行匹配度分析panduan=0;ifabs(m-n)<=3panduan=1;end%%%%%%%%%%%%%%%%%進(jìn)行匹配度分析ifpanduan==1forkk=1:180ifzuoyou(kk,2,i)==255&kk<179&kk>2ifsum(zuoyou((kk-2):(kk+2),1,j))>=255pi=pi+1;elseunpi=unpi+1;endendend%%%%%%%%%%%%%%%%%%匹配度列表sss=pi+unpi;ifsss~=0zzz=pi/sss;endjieguo(i,j)=zzz;endendendA=jieguo%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%前十匹配度zong=zeros(10,209);yi=zeros(10,1);forjj=1:10yi(jj)=1;endfori=1:209max=0;k=1;[zhi,wei]=sort(A(:,i),'descend');zong(1:10,i)=wei(1:10,1);zong(1:10,i)=zong(1:10,i)-yi;lv(1:10,i)=zhi(1:10,1)ifsum(A(:,i))==0zong(:,i)=0endendzongdlmwrite('F:\結(jié)果\2.1.1.txt',zong)xlswrite('F:\結(jié)果\2.1.1.xls',lv)%%%%%%%%第二題%%%%%%%%%%%%縱向clearallclcsymszijiand=0;%圖片的起始幀序列號,d是當(dāng)前圖像的末尾的序號b='附件3\';%讀取圖片文件的路徑,其中0是所有圖片名字的公共部分e='.bmp';%統(tǒng)一的文件的格式biao=zeros(2,20);%統(tǒng)計上下或左右都白的圖片zz=1;hh=1;forn=0:208%要讀入的圖片數(shù),根據(jù)需要調(diào)整m=int2str(d);ifn<10s=strcat(b,'00',m,e);elseifn<100s=strcat(b,'0',m,e);elses=strcat(b,m,e);end[A,map]=imread(s);%讀入的一張圖像[x,y]=size(A);fori=1:x%像素規(guī)整forj=1:yifA(i,j)>128A(i,j)=0;elseA(i,j)=255;endendendzong(:,:,d+1)=A;zuoyou(:,1,d+1)=A(:,1);%zuoyou(1)存儲左右邊界信息zuoyou(:,2,d+1)=A(:,72);shangxia(:,1,d+1)=A(1,:);%shangxia(2)存儲上下邊界信息shangxia(:,2,d+1)=A(180,:);d=d+1;%自加以讀入下一張圖像zy=0;sx=0;jiao=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%檢測上下都白或左右都白fork=1:xifA(k,y)==255||A(k,1)==255zy=1;endendforp=1:yifA(1,p)==255||A(x,p)==255sx=1;endendifzy==0biao(1,zz)=n;zz=zz+1;endifsx==0biao(2,hh)=n;hh=hh+1;end%%%%%%%%%%%%%%%%%%%%%%%%%檢測結(jié)束返回左右都白、上下都白的編號endbiao%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%讀入圖像和初步處理%%%%%%%%%%%%%%%%%%%%%%開始計算縱向匹配度jieguo=zeros(209,209);fori=1:209pipeidu=0;zzz=0;n=0;%%%%%%%%%%%%%%尋找第一個字的最低點(參考是n,比照是m)pan=0;%%%%%%%%%%%%%%在第一行是零的情況下判斷是否經(jīng)過了1的范圍ifsum(zong(180,:,i))==0fork=180:-1:1ifsum(zong(k,:,i))~=0n=k;pan=1;endifsum(zong(k,:,i))==0&pan==1&sum(zong(k-10,:,i))==0%%%%%%%%%%連續(xù)十行都是0且經(jīng)過了1區(qū)間breakendendelsefork=180:-1:1ifsum(zong(k,:,i))==0&sum(zong(k-10,:,i))==0%%%%%%%%%%連續(xù)十行都是0n=k-1;breakendendend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%比照組m的計算forj=1:209pi=0;unpi=0;zuijia=1;pan=0;m=0;ifsum(zong(1,:,j))==0fork=1:180ifsum(zong(k,:,j))~=0m=k;pan=1;endifsum(zong(k,:,j))==0&pan==1&sum(zong(k+10,:,j))==0%%%%%%%%%%連續(xù)十行都是0且經(jīng)過了1區(qū)間breakendendelsefork=1:180ifsum(zong(k,:,j))==0&sum(zong(k+10,:,j))==0%%%%%%%%%%連續(xù)十行都是0m=k-1;breakendendend%%%%%%%%%%%%%%%%%%%最低點比較判斷是否要進(jìn)行匹配度分析n=180-n;ccc=abs(m+n-40);panduan=0;ifmod(ccc,70)<=10panduan=1;end%%%%%%%%%%%%%%%%%進(jìn)行匹配度分析ifpanduan==1forkk=1:72ifshangxia(kk,2,i)==255&kk<71&kk>2ifsum(shangxia((kk-2):(kk+2),1,j))>=255pi=pi+1;elseunpi=unpi+1;endendend%%%%%%%%%%%%%%%%%%尋找最大匹配度sss=pi+unpi;ifsss~=0zzz=pi/sss;jieguo(i,j)=zzz;endendendendxlswrite('F:\zongxiangpipei.xls',jieguo)A=jieguo%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%前十匹配度zong=zeros(10,209);yi=zeros(10,1);forjj=1:10yi(jj)=1;endfori=1:209max=0;k=1;[zhi,wei]=sort(A(:,i),'descend');zong(1:10,i)=wei(1:10,1);zong(1:10,i)=zong(1:10,i)-yi;lv(1:10,i)=zhi(1:10,1)ifsum(A(:,i))==0zong(:,i)=0endendzongdlmwrite('F:\結(jié)果\2.1.2.txt',zong)xlswrite('F:\結(jié)果\2.1.2.xls',lv)%%%%%%%%第三題%%%%%%%%%%%%橫向clearallclcsymszijiand=0;%圖片的起始幀序列號,d是當(dāng)前圖像的末尾的序號b='附件5\';%讀取圖片文件的路徑,其中0是所有圖片名字的公共部分e='a.bmp';%統(tǒng)一的文件的格式biao=zeros(2,20);%統(tǒng)計上下或左右都白的圖片zz=1;hh=1;f='b.bmp';forn=0:208%要讀入的圖片數(shù),根據(jù)需要調(diào)整m=int2str(d);ifn<10s=strcat(b,'00',m,e);elseifn<100s=strcat(b,'0',m,e);elses=strcat(b,m,e);end[A,map]=imread(s);%讀入的一張圖像[x,y]=size(A);fori=1:x%像素規(guī)整forj=1:yifA(i,j)>128A(i,j)=0;elseA(i,j)=255;endendendzong(:,:,d+1)=A;zuoyou(:,1,d+1)=A(:,1);%zuoyou(1)存儲左右邊界信息zuoyou(:,2,d+1)=A(:,72);shangxia(:,1,d+1)=A(1,:);%shangxia(2)存儲上下邊界信息shangxia(:,2,d+1)=A(180,:);d=d+1;%自加以讀入下一張圖像zy=0;sx=0;jiao=0;endd=0;forn=0:208%要讀入的圖片數(shù),根據(jù)需要調(diào)整m=int2str(d);ifn<10s=strcat(b,'00',m,f);elseifn<100s=strcat(b,'0',m,f);elses=strcat(b,m,f);end[A,map]=imread(s);%讀入的一張圖像[x,y]=size(A);fori=1:x%像素規(guī)整forj=1:yifA(i,j)>128A(i,j)=0;elseA(i,j)=255;endendendzong1(:,:,d+1)=A;zuoyou1(:,1,d+1)=A(:,1);%zuoyou(1)存儲左右邊界信息zuoyou1(:,2,d+1)=A(:,72);shangxia1(:,1,d+1)=A(1,:);%shangxia(2)存儲上下邊界信息shangxia1(:,2,d+1)=A(180,:);d=d+1;%自加以讀入下一張圖像zy=0;sx=0;jiao=0;end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%讀入圖像和初步處理%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%開始計算橫向匹配度jieguo=zeros(209,209);fori=1:209pipeidu=0;zzz=zeros(4);forj=1:209pi=0;unpi=0;zuijia=1;panduan=1;ifpanduan==1forkk=1:180ifzuoyou(kk,2,i)==255&kk<179&kk>2ifsum(zuoyou((kk-2):(kk+2),1,j))>=255pi=pi+1;elseunpi=unpi+1;endendend%%%%%%%%%%%%%%%%%%匹配度列表sss=pi+unpi;ifsss~=0zzz(1)=pi/sss;endsss=0;pi=0;unpi=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%forkk=1:180ifzuoyou(kk,2,i)==255&kk<179&kk>2ifsum(zuoyou1((kk-2):(kk+2),1,j))>=255pi=pi+1;elseunpi=unpi+1;endendend%%%%%%%%%%%%%%%%%%匹配度列表sss=pi+unpi;ifsss~=0zzz(2)=pi/sss;endsss=0;pi=0;unpi=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%forkk=1:180ifzuoyou1(kk,2,i)==255&kk<179&kk>2ifsum(zuoyou((kk-2):(kk+2),1,j))>=255pi=pi+1;elseunpi=unpi+1;endendend%%%%%%%%%%%%%%%%%%匹配度列表sss=pi+unpi;ifsss~=0zzz(3)=pi/sss;endsss=0;pi=0;unpi=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%forkk=1:180ifzuoyou1(kk,2,i)==255&kk<179&kk>2ifsum(zuoyou1((kk-2):(kk+2),1,j))>=255pi=pi+1;elseunpi=unpi+1;endendend%%%%%%%%%%%%%%%%%%匹配度列表sss=pi+unpi;ifsss~=0zzz(4)=pi/sss;endjieguo(i,j)=max(zzz(:));endendend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%A=jieguo;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%前十匹配度zong=zeros(10,209);yi=zeros(10,1);forjj=1:10yi(jj)=1;endfori=1:209max=0;k=1;[zhi,wei]=sort(A(:,i),'descend');zong(1:10,i)=wei(1:10,1);zong(1:10,i)=zong(1:10,i)-yi;lv(1:10,i)=zhi(1:10,1);ifsum(A(:,i))==0zong(:,i)=0;endendzongdlmwrite('F:\結(jié)果\3.1.txt',zong)xlswrite('F:\結(jié)果\3.1.xls',lv)%%%%%%%%第三題%%%%%%%%%%%%縱向clearallclcsymszijiand=0;%圖片的起始幀序列號,d是當(dāng)前圖像的末尾的序號b='附件5\';%讀取圖片文件的路徑,其中0是所有圖片名字的公共部分e='a.bmp';%統(tǒng)一的文件的格式biao=zeros(2,20);%統(tǒng)計上下或左右都白的圖片zz=1;hh=1;f='b.bmp';forn=0:208%要讀入的圖片數(shù),根據(jù)需要調(diào)整m=int2str(d);ifn<10s=strcat(b,'00',m,e);elseifn<100s=strcat(b,'0',m,e);elses=strcat(b,m,e);end[A,map]=imread(s);%讀入的一張圖像[x,y]=size(A);fori=1:x%像素規(guī)整forj=1:yifA(i,j)>128A(i,j)=0;elseA(i,j)=255;endendendzong(:,:,d+1)=A;zuoyou(:,1,d+1)=A(:,1);%zuoyou(1)存儲左右邊界信息zuoyou(:,2,d+1)=A(:,72);shangxia(:,1,d+1)=A(1,:);%shangxia(2)存儲上下邊界信息shangxia(:,2,d+1)=A(180,:);d=d+1;%自加以讀入下一張圖像zy=0;sx=0;jiao=0;endd=0;forn=0:208%要讀入的圖片數(shù),根據(jù)需要調(diào)整m=int2str(d);ifn<10s=strcat(b,'00',m,f);elseifn<100s=strcat(b,'0',m,f);elses=strcat(b,m,f);end[A,map]=imread(s);%讀入的一張圖像[x,y]=size(A);fori=1:x%像素規(guī)整forj=1:yifA(i,j)>128A(i,j)=0;elseA(i,j)=255;endendendzong1(:,:,d+1)=A;zuoyou1(:,1,d+1)=A(:,1);%zuoyou(1)存儲左右邊界信息zuoyou1(:,2,d+1)=A(:,72);shangxia1(:,1,d+1)=A(1,:);%shangxia(2)存儲上下邊界信息shangxia1(:,2,d+1)=A(180,:);d=d+1;%自加以讀入下一張圖像zy=0;sx=0;jiao=0;end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%讀入圖像和初步處理%%%%%%%%%%%%%%%%%%%%%%開始計算縱向匹配度jieguo=zeros(209,209);fori=1:209pipeidu=0;zzz=zeros(4);n=0;forj=1:209pi=0;unpi=0;zuijia=1;panduan=1;ifpanduan==1forkk=1:72ifshangxia(kk,2,i)==255&kk<71&kk>2ifsum(shangxia((kk-2):(kk+2),1,j))>=255pi=pi+1;elseunpi=unpi+1;endendend%%%%%%%%%%%%%%%%%%尋找最大匹配度sss=pi+unpi;ifsss~=0zzz(1)=pi/sss;jieguo(i,j)=zzz(1);endsss=0;pi=0;unpi=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%forkk=1:72ifshangxia(kk,2,i)==255&kk<71&kk>2ifsum(shangxia1((kk-2):(kk+2),1,j))>=255pi=pi+1;elseunpi=unpi+1;endendend%%%%%%%%%%%%%%%%%%尋找最大匹配度sss=pi+unpi;ifsss~=0zzz(2)=pi/sss;jieguo(i,j)=zzz(2);endsss=0;pi=0;unpi=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%forkk=1:72ifshangxia1(kk,2,i)==255&kk<71&kk>2ifsum(shangxia((kk-2):(kk+2),1,j))>=255pi=pi+1;elseunpi=unpi+1;endendend%%%%%%%%%%%%%%%%%%尋找最大匹配度sss=pi+unpi;ifsss~=0zzz(3)=pi/sss;jieguo(i,j)=zzz(3);endsss=0;pi=0;unpi=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%forkk=1:72ifshangxia1(kk,2,i)==255&kk<71&kk>2ifsum(shangxia1((kk-2):(kk+2),1,j))>=255pi=pi+1;elseunpi=unpi+1;endendend%%%%%%%%%%%%%%%%%%尋找最大匹配度sss=pi+unpi;ifsss~=0zzz(4)=pi/sss;jieguo(i,j)=zzz(4);endsss=0;pi=0;unpi=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%endendendA=jieguo;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%前十匹配度zong=zeros(10,209);yi=zeros(10,1);forjj=1:10yi(jj)=1;endfori=1:209max=0;k=1;[zhi,wei]=sort(A(:,i),'descend');zong(1:10,i)=wei(1:10,1);zong(1:10,i)=zong(1:10,i)-yi;lv(1:10,i)=zhi(1:10,1)ifsum(A(:,i))==0zong(:,i)=0endendzongdlmwrite('F:\結(jié)果\3.2.txt',zong)xlswrite('F:\結(jié)果\3.2.xls',lv)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%最后拼接工程(VB語言)Dimpipei(9,208)AsSingle,a,b,weiDimzuizhong(10,18)AsSingle,ii,jj,zong,wei2Dimpipei2(9,208)AsSingle,ii2,jj2PrivateSubCommand1_Click()wei=0a=Text1.Textb=Text2.Textc=Text3.Texts=a+b+".bmp"Picture1.Picture=LoadPicture(s)OpencForInputAs#1'打開輸入文件。Fori=0To9Forj=0To208Input#1,pipei(i,j)NextjNextiClose#1'關(guān)閉文件。pi=pipei(wei,Val(b))Ifpi<10Thenxia=a+"00"+Trim(Str(pi))+".bmp"ElseIfpi<100Thenxia=a+"0"+Trim(Str(pi))+".bmp"Elsexia=a+Trim(Str(pi))+".bmp"EndIfPicture2.Picture=LoadPicture(xia)Picture2.Width=Picture1.WidthPicture2.Height=Picture1.HeightPicture2.Left=Picture1.Left+Picture1.WidthEndSubPrivateSubCommand2_Click()Ifzong=0Thenii=ii+1wei=0zuizhong(ii,jj)=pipei(wei,b)'記錄下匹配序列b=pipei(wei,b)'對b重新賦值Ifii>10Then'如果橫向到頭則提示縱向匹配ii=0jj=jj+1pp=MsgBox("請進(jìn)行縱向匹配")EndIfIfb<10Thenxia=a+"00"+Trim(Str(b))+".bmp"ElseIfpi<100Thenxia=a+"0"+Trim(Str(b))+".bmp"Elsexia=a+Trim(Str(b))+".bmp"EndIfPicture1.Picture=LoadPicture(xia)'顯示下一個待匹配圖ooo=pipei(wei,b)Ifooo<10Thenooo=a+"00"+Trim(Str(ooo))+".bmp"ElseIfpi<100Thenooo=a+"0"+Trim(Str(ooo))+".bmp"Elseooo=a+Trim(Str(ooo))+".bmp"EndIfPicture2.Picture=LoadPicture(ooo)Else'縱向匹配的情況ii2=ii2+1wei=0zuizhong(ii2,jj2)=pipei(wei2,b)'記錄下匹配序列b=pipei(wei2,b)'對b重新賦值Ifii2>10Then'如果橫向到頭則提示縱向匹配ii2=0jj2=jj2+1pp=MsgBox("請進(jìn)行橫向匹配")zong=0EndIfIfb<10Thenxia=a+"00"+Trim(Str(b))+".bmp"ElseIfpi<100Thenxia=a+"0"+Trim(Str(b))+".bmp"Elsexia=a+Trim(Str(b))+
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新春便民惠民活動方案
- 新沂練字活動方案
- 數(shù)字中國峰會活動方案
- 新開眼鏡店活動方案
- 新進(jìn)社工活動方案
- 文化品牌策劃活動方案
- 新守株待兔活動方案
- 數(shù)字藏品活動方案
- 無線電科技實踐活動方案
- 春晚app活動方案
- 幼兒園小班交通安全主題PPT
- 國開網(wǎng)電大 市場調(diào)查形成性考核1-3答案
- GB/T 5161-2014金屬粉末有效密度的測定液體浸透法
- 建筑工程公司安全生產(chǎn)責(zé)任制度
- 被執(zhí)行人財產(chǎn)申報表
- 人教版五年級語文(下冊)期末試卷(附答案)
- [北京]輸變電工程標(biāo)準(zhǔn)工藝應(yīng)用圖冊(圖文并茂)
- 信用修復(fù)申請書
- 深圳房地產(chǎn)開發(fā)企業(yè)資質(zhì)申報表
- 美變出廠檢驗記錄
- UPS電源施工方案
評論
0/150
提交評論