版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 說明:本范例格式與附件2中格式略有不同,參賽隊(duì)可綜合參考</p><p><b> 碎紙片的拼接復(fù)原</b></p><p> 張三,計(jì)科N131,15024316397(656397)</p><p> 李四,計(jì)科N132,15024317789(657789)</p><p> 王五,工
2、管N141,15024318899(658899)</p><p><b> 摘 要</b></p><p> 本文研究的是碎紙片的拼接復(fù)原問題,分別對(duì)碎紙機(jī)僅縱切、既縱切又橫切單頁文件以及縱橫切雙面文件三種情形,建立碎紙片拼接模型和算法,實(shí)現(xiàn)對(duì)碎紙片的拼接復(fù)原。</p><p> 問題一中,僅考慮縱切單面文件的情形。首先,將19張碎紙
3、片導(dǎo)入matlab軟件得到19個(gè)1980*72的灰度值矩陣,對(duì)圖像進(jìn)行二值化處理??紤]到原文件最左端有一部分空白,故原文件中最左端碎紙片的編號(hào)為008。然后,引入吻合度指標(biāo),將吻合度最大作為目標(biāo),建立單目標(biāo)規(guī)劃模型,采用逐步迭代拼接的方法,尋找右鄰碎紙片,最后,得到了中英文碎紙片的復(fù)原圖。例如,中文復(fù)原圖碎紙片從左到右的排列順序(僅列出前5張)編號(hào)為008、014、012、015、003。復(fù)原過程不需要人工干預(yù)。</p>
4、<p> 問題二中,考慮碎紙機(jī)既縱切又橫切的情形。首先,同問題一類似,對(duì)附件3、附件4中的縱橫切碎片數(shù)據(jù)進(jìn)行處理,確定11個(gè)最左邊碎紙片,例如中文的最左邊碎紙片編號(hào)為007、014、168等。然后,對(duì)于中、英文文件碎片,分別采用了聚類分析和標(biāo)準(zhǔn)基線對(duì)準(zhǔn)方法進(jìn)行分類。利用問題一的模型,進(jìn)行拼接求解。由于縱橫切導(dǎo)致得到的碎紙片數(shù)很多,計(jì)算機(jī)不能保證吻合度最大的右鄰矩陣是匹配的,因此需要人工干預(yù),例如,編號(hào)為007的碎片所在行,迭
5、代到第9次時(shí)需要做一次人工干預(yù)。最后,仿照問題(1)的思路,考慮各行拼接復(fù)原圖上下行之間的吻合度,從而實(shí)現(xiàn)了整個(gè)的拼接復(fù)原過程。例如中文復(fù)原圖第一行中的前5個(gè)紙片的編號(hào)分別為007、208、138、158、126。</p><p> 問題三中,拼接過程,既要保證正面匹配,也要保證反面匹配。首先需要確定原文件中22個(gè)最左端碎紙片,選取最左端碎紙片作為起點(diǎn),按行進(jìn)行拼接。根據(jù)問題(2)對(duì)英文字母特點(diǎn)分析,以四線格的
6、中心線到碎片頂端的距離作為標(biāo)準(zhǔn),對(duì)418張碎片進(jìn)行分類,以吻合度最大作為目標(biāo)建立數(shù)學(xué)模型。搜索右鄰碎片時(shí),優(yōu)先在同一類別內(nèi)部局部進(jìn)行,直到找到匹配的右鄰矩陣為止,最終得到雙面打印文件的復(fù)原圖,例如其中一面第一行前5列編號(hào)為136a,047b,020b,164a,081a,另一面第一行前5列編號(hào)為078b,111b,125a,140a,155a。 最后對(duì)模型的優(yōu)缺點(diǎn)進(jìn)行評(píng)價(jià),并對(duì)在實(shí)際情況中的打印文件可能出現(xiàn)噪音等情況進(jìn)行了討論。
7、</p><p> 關(guān)鍵詞: 拼接復(fù)原;吻合度;灰度值;人工干預(yù)</p><p><b> 1 問題重述</b></p><p><b> 1.1問題背景</b></p><p> 破碎文件的拼接復(fù)原問題,是計(jì)算機(jī)視覺、圖像分析和模式識(shí)別中一個(gè)突出難題。它被應(yīng)用到很多領(lǐng)域,如司法物證復(fù)原、歷
8、史文獻(xiàn)修復(fù)以及軍事情報(bào)獲取等。傳統(tǒng)中,拼接工作大部分都是靠人工的方式完成,雖然準(zhǔn)確率較高,但是效率卻很低。特別是當(dāng)碎片數(shù)量巨大,人工拼接很難及時(shí)完成任務(wù)。隨著網(wǎng)絡(luò)時(shí)代計(jì)算機(jī)技術(shù)的發(fā)展,人們開始嘗試開發(fā)碎片的自動(dòng)拼接技術(shù),以提高拼接復(fù)原效率。</p><p><b> 1.2問題提出</b></p><p> 為了研究碎紙片的拼接復(fù)原技術(shù),需要討論以下問題:<
9、/p><p> 1.對(duì)于給定的來自同一頁印刷文字文件的碎紙機(jī)破碎紙片(僅縱切),建立碎紙片拼接復(fù)原模型和算法,并針對(duì)附件1、附件2給出的中、英文各一頁文件的碎片數(shù)據(jù)進(jìn)行拼接復(fù)原。如果復(fù)原過程需要人工干預(yù),請(qǐng)寫出干預(yù)方式及干預(yù)的時(shí)間節(jié)點(diǎn)。復(fù)原結(jié)果以圖片形式及表格形式表達(dá)。 </p><p> 2.對(duì)于碎紙機(jī)既縱
10、切又橫切的情形,請(qǐng)?jiān)O(shè)計(jì)碎紙片拼接復(fù)原模型和算法,并針對(duì)附件3、附件4給出的中、英文各一頁文件的碎片數(shù)據(jù)進(jìn)行拼接復(fù)原。如果復(fù)原過程需要人工干預(yù),請(qǐng)寫出干預(yù)方式及干預(yù)的時(shí)間節(jié)點(diǎn)。復(fù)原結(jié)果表達(dá)要求同上。</p><p> 3.上述所給碎片數(shù)據(jù)均為單面打印文件,從現(xiàn)實(shí)情形出發(fā),還可能有雙面打印文件的碎紙片拼接復(fù)原問題需要解決。附件5給出的是一頁英文印刷文字雙面打印文件的碎片數(shù)據(jù)。請(qǐng)嘗試設(shè)計(jì)相應(yīng)的碎紙片拼接復(fù)原模型與算法
11、,并就附件5的碎片數(shù)據(jù)給出拼接復(fù)原結(jié)果,結(jié)果表達(dá)要求同上。</p><p><b> 2 問題分析</b></p><p> 題目要求我們解決破碎機(jī)的拼接復(fù)原問題 。針對(duì)碎紙機(jī)對(duì)單頁文件僅縱切、既縱切又橫切以及對(duì)雙面文件的破碎三種情形,建立碎紙片拼接模型和算法,實(shí)現(xiàn)對(duì)破紙片的拼接復(fù)原。</p><p> 對(duì)于問題(1),題目要求我們僅考慮
12、碎紙機(jī)縱切同一頁文字文件的情形,建立碎紙片拼接復(fù)原模型。首先,通過對(duì)碎紙片外形等相關(guān)分析,得到適用于邊緣相似的碎紙片的拼接復(fù)原模型。然后,利用圖像二值化處理的方法實(shí)現(xiàn)拼接,由0-1變量找到最左邊紙片,其次引入吻合度的概念,找出剩余18張紙片中與最左邊紙片吻合度最大的紙片,最后加入人工干預(yù),找到與最左邊紙片最匹配的紙片,以此推類,從而完成整個(gè)的拼接復(fù)原過程,其主要分析思路如下(圖1);</p><p> 圖1
13、 拼接復(fù)原過程</p><p> 對(duì)于問題(2),題目要求我們對(duì)于破碎機(jī)既縱切又橫切的情形,設(shè)計(jì)碎紙片的拼接復(fù)原模型和算法。首先,根據(jù)問題一的模型,分別找到中、英文的11張最左邊碎紙片。然后,計(jì)算所有碎紙片的特征列向量,由它們特征列向量的關(guān)系進(jìn)行聚類。接著,通過問題(1)的方法,讓最左邊碎紙片先在自身的類別搜索,若找不到匹配的紙片則跳出類別繼續(xù)搜索,進(jìn)而得到11張一行拼接復(fù)原圖。最后,接著仿照問題(1)的思路,
14、考慮各行拼接復(fù)原圖相鄰上下行的吻合度,加上人工干預(yù)操作,從而實(shí)現(xiàn)整個(gè)的拼接復(fù)原過程。</p><p> 對(duì)于問題(3),本題要求我們對(duì)縱橫切碎片雙面文件進(jìn)行拼接,考慮到既要保證正面匹配,也要保證反面匹配。首先需要尋找最左端碎紙片,考慮到英文字母的物理特征,于是虛擬一個(gè)基線進(jìn)行對(duì)準(zhǔn)分類,以吻合度最大作為指標(biāo),利用問題一模型,直到找到匹配的右鄰矩陣為止,并最終得到了雙面打印文件的復(fù)原圖。</p>&l
15、t;p> 3 模型假設(shè)與符號(hào)說明</p><p><b> 3.1模型的假設(shè)</b></p><p> 假設(shè)紙張上的信息都是真實(shí)有效的;(2)假設(shè)紙張上的邊界整齊、行距規(guī)范,無特殊情況;</p><p> (3)假設(shè)人工干預(yù)是理性的,即正確有效的。</p><p><b> 3.2符號(hào)的說明&
16、lt;/b></p><p> ?。簣D像的底的像素總個(gè)數(shù);</p><p> ?。簣D像的高的像素總個(gè)數(shù);</p><p> ?。鹤蠖怂槠叶戎稻仃嚱?jīng)二值化后第行末列;</p><p> ?。河叶嘶叶戎稻仃嚱?jīng)二值化后第行首列的取值;</p><p><b> ?。汉偷娜≈店P(guān)系;</b><
17、/p><p> ?。旱趶埵S嗨榧埰妥筮吽榧埰奈呛隙龋?lt;/p><p> ?。菏S鄰埶榧埰梢赃M(jìn)行模擬搭配;</p><p><b> ?。何呛隙?;</b></p><p> 表示矩陣第行第列的灰度值;</p><p> 表示矩陣二值化后第行第列的取值;</p><p>
18、 ?。核榧埰奶卣髁邢蛄浚?lt;/p><p><b> ?。鹤蠖怂榧埰?lt;/b></p><p> ?。菏S嘁M(jìn)行搜索的左端碎紙片;</p><p> ?。合噜弮伤榧埰淖峙c自身頂端距離相等的行數(shù);</p><p><b> ?。合袼攸c(diǎn)的個(gè)數(shù),。</b></p><p><
19、;b> 4 模型的準(zhǔn)備</b></p><p><b> 4.1 手動(dòng)處理</b></p><p> 由于題目給定的碎紙片沒有固定的擺放方位,所以在建立拼接復(fù)原模型之前,我們先對(duì)碎紙片字體朝向進(jìn)行手動(dòng)處理,即把所有碎紙片的字體朝向擺正,也就是說我們的拼接模型建立在紙片字體上下方位正確的基礎(chǔ)之上。</p><p><
20、b> 4.2 灰度值計(jì)算</b></p><p> 對(duì)于每一張碎紙片,可以理解為一個(gè)二維陣列,陣列的元素值稱為灰度值?;叶戎档姆秶牵?-255),當(dāng)灰度值為255時(shí),為最亮的白色,為0時(shí)為黑色?;叶葓D像能反映整幅圖像的整體和局部的色度和亮度等級(jí)的分布和特征。 </p><p> 為了計(jì)算每張紙片的灰度值,把附件中的所有圖片導(dǎo)入matlab軟件,可以把圖像轉(zhuǎn)化為
21、矩陣,圖像大小和矩陣大小是一樣的。圖像的最小分辨單元是像素,每個(gè)圖像有個(gè)像素,代表圖像的底的像素總個(gè)數(shù),代表圖像的高的像素總個(gè)數(shù),總共有個(gè)像素單元,處的值代表圖像中該點(diǎn)的灰度值。由此,總共可以得到大小為的若干矩陣。</p><p><b> 4.3 二值化處理</b></p><p> 由于一幅圖像可能包括文字、背景還有噪聲等等,根據(jù)灰度值矩陣可知,文字灰度值的大
22、小不一,為了更好地區(qū)分黑色文字和白色背景,這里設(shè)定一個(gè)全局的閾值,用將圖像的灰度值分成兩部分,若該圖像的灰度值矩陣為,對(duì)矩陣進(jìn)行二值化處理:</p><p><b> ?。?)</b></p><p> 其中,,表示矩陣第行第列的灰度值,表示矩陣二值化后第行第列的取值。將矩陣中大于等于的灰度值設(shè)定為白色,小于的灰度值設(shè)定為黑色。</p><p&g
23、t; 5 模型的建立與求解</p><p> 5.1 問題(1)的模型建立與求解</p><p> 5.1.1 拼接復(fù)原模型的建立</p><p> 本題所有碎紙片幾何形狀均為規(guī)則的矩形,因此僅利用碎紙片的幾何邊界特征并不能達(dá)到拼接效果。為此,對(duì)這類邊緣相似的碎紙片的拼接,拼接時(shí)主要考慮的是碎片內(nèi)的字跡斷線或碎片內(nèi)文字圖像內(nèi)容是否匹配。</p>
24、<p> 拼接復(fù)原時(shí)可以采用枚舉拼接復(fù)原的方法,若僅考慮縱切,即19張碎紙片共有種拼接方案,通過人工干預(yù)識(shí)別即可得到最終的拼接方案。但這種枚舉拼接的方法要重復(fù)次,數(shù)量級(jí)為,無論是計(jì)算機(jī)模擬枚舉還是人工識(shí)別,都是不現(xiàn)實(shí)的。為此,本題提出了一個(gè)改進(jìn)的拼接復(fù)原模型,既能保證答案的精確度,又大大縮短了運(yùn)算時(shí)間。</p><p> 1.改進(jìn)的拼接模型的原理:</p><p> ?。?
25、)先找到位置在原圖像最左邊的碎紙片;</p><p> ?。?)將這張碎紙片的最右端邊緣與其他碎紙片的最左端邊緣進(jìn)行比較,找出一個(gè)最適合該碎紙片的右鄰碎紙片;</p><p> (3)以右鄰碎紙片為對(duì)象,重復(fù)原理(2),即可得到一幅拼接復(fù)原圖。</p><p> 該模型引入圖像二值化處理的方法,結(jié)合0-1變量,提出了吻合度的概念,尋找出吻合度最大的右鄰碎紙片。但
26、是由于計(jì)算機(jī)無法確定右鄰碎紙片與左邊碎紙片的是否內(nèi)容匹配,如果出現(xiàn)吻合度最大而內(nèi)容上不匹配的情況,此時(shí)應(yīng)添加人工干預(yù),人工干預(yù)時(shí)選擇吻合度次優(yōu)的碎紙片代替上一個(gè)右鄰碎紙片,直到找到內(nèi)容匹配的右鄰碎紙片為止,最終可以得到完整的碎紙片拼接復(fù)原圖。以下列出具體的算法步驟:</p><p> 2.原圖像最左邊碎紙片</p><p> 因?yàn)楫?dāng)灰度值為255時(shí)為最亮的白色,0時(shí)為黑色,考慮到最左邊
27、的紙片會(huì)留出一部分空白邊距,于是對(duì)19個(gè)的碎紙片矩陣進(jìn)行全局搜索,找到第一列中灰度值均為255或者出現(xiàn)255的次數(shù)最多的矩陣,該矩陣所對(duì)應(yīng)的的碎紙片即為最左邊碎紙片。</p><p> 3.約束條件:0-1變量</p><p> 拼接復(fù)原要求原圖像相鄰的兩張碎紙片盡可能吻合,因此,左邊碎紙片的右端邊緣與右邊碎紙片的左端邊緣盡可能相似。在計(jì)算機(jī)模擬時(shí),可以將灰度值矩陣進(jìn)行二值化處理后的作
28、邊緣比較,這里引入了一個(gè)0-1變量,即:</p><p><b> ?。?)</b></p><p> 其中,表示左端碎片灰度值矩陣經(jīng)二值化后第行末列,表示右端灰度值矩陣經(jīng)二值化后第行首列的取值,表示和的取值關(guān)系。當(dāng)時(shí),取為1,表示兩者取值相等,反之取0。</p><p> 圖1 流程圖</p><p>&l
29、t;b> 4.目標(biāo)函數(shù)</b></p><p> 由于切割的隨機(jī)性,并不能保證原圖像任意相鄰兩張碎紙片的邊緣完全相同,因此,這里提出吻合度指標(biāo),用于尋找最吻合的相鄰兩張碎紙片。它的計(jì)算公式是:</p><p><b> ?。?)</b></p><p> 其中,表示第張剩余碎紙片和左邊碎紙片的吻合度,代表灰度值矩陣行數(shù),
30、表示剩余張碎紙片可以進(jìn)行模擬搭配。</p><p> 綜合以上,得到以下數(shù)學(xué)模型:</p><p><b> ?。?)</b></p><p> 由于計(jì)算機(jī)無法確定右鄰碎紙片與左邊碎紙片內(nèi)容是否匹配,如果出現(xiàn)吻合度最大而內(nèi)容上不匹配的情況,則應(yīng)添加人工干預(yù),即選擇吻合度次優(yōu)的右鄰碎紙片代替上一個(gè)右鄰碎紙片,直到找到內(nèi)容匹配的紙片為止,以此類
31、推,最終可以得到完整的碎紙片拼接復(fù)原圖。其簡明流程圖如圖1所示。</p><p> 5.1.2拼接復(fù)原模型的求解</p><p> 根據(jù)拼接復(fù)原模型的算法步驟,我們首先對(duì)附件1、2中每張紙片對(duì)應(yīng)的灰度值矩陣進(jìn)行二值化處理,這里把全局的閾值取為255,此時(shí)矩陣的取值只有0和255兩種情況,分別表示黑色和白色。接著對(duì)19個(gè)的碎紙片矩陣進(jìn)行全局搜索,找到第一列中灰度值均為255或者出現(xiàn)255
32、的次數(shù)最多的矩陣,該矩陣所對(duì)應(yīng)的的碎紙片即為最左邊碎紙片,本題中中、英文碎片的最左邊紙片分別為008.bmp和003.bmp。</p><p> 在找到最左邊紙片后,需要比較最左邊碎紙片的右端邊緣與剩余18張碎紙片的左端邊緣之間的吻合度。為了方便計(jì)算,這里取出中文最左邊碎紙片008.bmp和任意一張碎紙片011.bmp,計(jì)算兩者的吻合度。</p><p> 首先需要取出008.bmp灰
33、度值矩陣二值化后最后一列的數(shù)值,以及任意一張碎紙片011.bmp灰度值矩陣二值化后第一列的數(shù)值,畫出碎紙片008.bmp右端邊緣二值直方圖和碎紙片011.bmp左端邊緣二值直方圖(圖2和圖3):</p><p> 圖2 碎紙片008.bmp右端邊緣二值直方圖</p><p> 圖3 碎紙片011.bmp左端邊緣二值直方圖</p><p> 其中縱坐標(biāo)表
34、示的是二值化后的灰度值,橫坐標(biāo)表示的是碎紙片的高。</p><p> 得到這兩張紙片的二值直方圖后,利用0-1變量比較兩列數(shù)值的關(guān)系,如果在任意相同行中列的數(shù)值相等,則賦予1變量,否則賦予0變量。通過計(jì)算,得到兩者在相同行中列數(shù)值相等的次數(shù)為1518。接下來計(jì)算兩張碎紙片的吻合度,由公式(3),可以很快算得兩者的吻合度為0.767。</p><p> 同樣的方法,我們可以得到剩余18張
35、碎紙片與008.bmp的吻合度(見表1):</p><p> 表1 中文圖像最左邊碎紙片與其他碎紙片吻合度</p><p> 從表1可以看出,碎紙片014.bmp與008.bmp的吻合度最大,達(dá)到0.9232,說明014.bmp的左端邊緣與008.bmp右端邊緣有92.32%的灰度值是相同的。</p><p> 綜上,求解出完整的復(fù)原圖,其matlab程序
36、見附錄2(程序1),拼接復(fù)原的圖片形式見附錄1(圖片1),表格形式表達(dá)如下(見表2):</p><p> 表2 中文復(fù)原圖碎紙片排序表</p><p> 因此,中文復(fù)原圖碎紙片從左到右的排列順序?yàn)?08.bmp、014.bmp、012.bmp、015.bmp、003.bmp、010.bmp、002.bmp、016.bmp、001.bmp、004.bmp、005.bmp、009.bm
37、p、013.bmp、018.bmp、011.bmp、007.bmp、017.bmp、000.bmp、006.bmp。</p><p> 根據(jù)同樣的方法,我們還可以求出英文復(fù)原結(jié)果的圖片形式見附錄1(圖片2)和表格形式(見表3):</p><p> 表3 英文復(fù)原圖碎紙片排序表</p><p> 因此,英文復(fù)原圖碎紙片從左到右的排列順序?yàn)?03.bmp、00
38、6.bmp、002.bmp、007.bmp、015.bmp、018.bmp、011.bmp、000.bmp、005.bmp、001.bmp、009.bmp、013.bmp、010.bmp、008.bmp、012.bmp、014.bmp、017.bmp、016.bmp、004.bmp。</p><p> 由于本題中碎紙片的數(shù)量較少,且面積相對(duì)較大,即相鄰矩陣之間的文字內(nèi)容相關(guān)性很大,所以在拼接復(fù)原過程中,我們僅憑
39、吻合度這一指標(biāo)就完成了碎紙片的拼接復(fù)原工作,在復(fù)原過程中并沒有進(jìn)行人工干預(yù)的操作。</p><p> 5.2問題(2)的模型建立與求解</p><p> 本題在問題一的基礎(chǔ)上,考慮碎片機(jī)既縱切又橫切的情形。問題一中僅需考慮兩個(gè)灰度值矩陣相鄰列之間的吻合度,而問題二不僅需要考慮兩個(gè)灰度值矩陣相鄰列之間的吻合度,還需要考慮它們相鄰行的吻合度。</p><p> 5
40、.2.1模型的建立</p><p> 這里給出該拼接復(fù)原模型的原理:</p><p> ?。?)根據(jù)問題一的模型得到11副一行拼接復(fù)原圖;</p><p> ?。?)為每一副一行拼接復(fù)原圖尋找最適合的上鄰和下鄰復(fù)原圖,最后通過人工干預(yù),即可得到一幅完整的拼接復(fù)原圖。</p><p> 由于問題一模型的算法存在一定的局限性,它更適用于僅縱切
41、或僅橫切,而且碎紙片的高度較大的情況,對(duì)于問題一來說,需要求解171次吻合度,程序運(yùn)行效率較高,如果把該算法直接引用到問題二,算法的復(fù)雜度將增加170多倍,人工干預(yù)的次數(shù)將大大增加。由此,我們考慮將問題一的算法進(jìn)行改進(jìn)。</p><p> 為了縮小計(jì)算吻合度時(shí)的搜索范圍,提高拼接復(fù)原模型的效率,本題利用了聚類的思想,因?yàn)閷?duì)于一段打印文字而言,文字總是出現(xiàn)在一定的行范圍內(nèi),所有根據(jù)這一特征,對(duì)碎紙片進(jìn)行了聚類。&
42、lt;/p><p> 5.2.1.1中英文各自分類</p><p> (1)中文分類——聚類分析</p><p> 同樣利用問題(1)的思路,得到209張碎紙片的灰度值矩陣,并進(jìn)行二值化。為了反映碎紙片的文字特征,引入了一個(gè)列向量:</p><p><b> ?。?)</b></p><p>
43、 其中,表示碎紙片灰度值矩陣的灰度值,表示該碎紙片的特征列向量,用于聚類分析。</p><p> 聚類得到類的個(gè)數(shù)對(duì)模型的算法效率有一定的影響。如果類的個(gè)數(shù)較少,則不能有效地減低算法的復(fù)雜度;如果類的個(gè)數(shù)較多,則會(huì)由于個(gè)別碎紙片分類的錯(cuò)誤而導(dǎo)致尋找該碎紙片時(shí)復(fù)雜度大大增加,因此,這里需要選用一個(gè)恰當(dāng)?shù)念悇e個(gè)數(shù),從而大大降低算法的復(fù)雜度。</p><p> ?。?)英文分類——按基線位置分
44、類</p><p> 相鄰匹配的兩個(gè)碎紙片,若左端碎紙片文字行數(shù)為行,且每行文字中心距離該碎紙片頂端距離是,則右端碎紙片中至少有1行文字中心與自身頂端距離和某個(gè)相等,即</p><p><b> ?。?)</b></p><p> 其中,為左端碎紙片,為剩余要進(jìn)行搜索的左端碎紙片,為相鄰兩碎紙片文字與自身頂端距離相等的行數(shù),一般為1或2或3
45、。</p><p> 5.2.1.2分類后的拼接復(fù)原</p><p> ① 按行拼接完整部分圖</p><p> 首先利用問題一中的算法求解,找到中、英文復(fù)原圖的11張最左邊碎紙片,判斷最左邊碎紙片所屬的類別,然后在各自的類別中繼續(xù)利用問題一的方法,即結(jié)合吻合度和內(nèi)容匹配情況,尋找出與每一個(gè)最左邊碎紙片拼接的右鄰碎紙片。如果在自己的類別中搜索不到符合條件的碎紙
46、片,此時(shí)便跳出該類別,尋找其它類別中與最左邊碎紙片吻合度最大的紙片,繼續(xù)重復(fù)以上步驟,最終得到11副一行拼接復(fù)原圖。</p><p> 根據(jù)問題(1)的思想,提出了基于0-1規(guī)劃的數(shù)學(xué)模型:</p><p><b> 目標(biāo)函數(shù):</b></p><p><b> 吻合度最大</b></p><p&
47、gt;<b> (7)</b></p><p><b> 約束條件:</b></p><p> 相鄰匹配的兩個(gè)碎紙片,左端碎紙片的右端邊緣與右端碎紙片的左端邊緣的灰度值是否相等,用0-1變量表示</p><p><b> (8)</b></p><p> 因此,該單目
48、標(biāo)規(guī)劃模型可以寫為:</p><p> ② 按列拼接完整復(fù)原圖</p><p> 接下來考慮完整的拼接復(fù)原圖,由于拼接復(fù)原要求原圖像相鄰的兩張碎紙片盡可能吻合,因此,一行復(fù)原圖的下端邊緣與另一副一行復(fù)原圖的上端邊緣要盡可能相似。</p><p> 但是考慮到計(jì)算機(jī)并不能判定上下圖像的內(nèi)容是否匹配,所以這里應(yīng)該添加人工干預(yù),即出現(xiàn)吻合度達(dá)到最大但內(nèi)容不匹配的情況
49、時(shí),選擇吻合度次優(yōu)的一行復(fù)原圖代替上一個(gè)相鄰復(fù)原圖,直到找到內(nèi)容匹配的復(fù)原圖片為止,以此類推,最終可以得到一副完整的一行拼接復(fù)原圖。</p><p> 5.2.2模型的求解</p><p> 本題考慮到碎紙機(jī)既縱切又橫切的情形,利用問題(1)模型的原理,把附件3、4中209張碎紙片分別導(dǎo)入matlab軟件中,得到相應(yīng)的209個(gè)180*72的灰度矩陣,接著按照問題(1)的算法,對(duì)每張碎紙
50、片的灰度值矩陣進(jìn)行二值化處理。</p><p> 利用SPSS19.0對(duì)所有碎紙片的矩陣二值化后的像素矩陣進(jìn)行聚類分析。中、英文碎紙片各有209張,聚類時(shí),考慮到聚類后的類別不能過多也不能過少,我們做了多次試驗(yàn),設(shè)定為4個(gè)類別時(shí)聚類的效果是最好的。</p><p> 5.2.2.1 中文拼接復(fù)原</p><p> 下表給出了屬于第一類的中文碎紙片(見表4):&
51、lt;/p><p> 表4 第一類中文碎紙片</p><p> 從表格中可以看出,屬于第一類的中文碎紙片總共有62張,接下來尋找每一行的最左端碎紙片。</p><p> 由于最左端碎紙片里面文字與邊緣有一段空白背景,由問題一可以得到,中文復(fù)原圖中008.bmp(來自附件1)為最左端碎紙片,經(jīng)過計(jì)算該圖片的灰度值矩陣前11列灰度值均為255,于是這里以11個(gè)像素
52、寬度作為中文碎紙片的最左端碎紙片的選取原則,為確保本題選出11張的左端碎紙片,此處選取像素寬度為10個(gè)像素。根據(jù)這一原則,我們得到了中文原圖像中的第一列碎紙片,共11張,如表(5)所示。</p><p> 表5 中文復(fù)原圖中的第一列碎紙片</p><p> 得到的11張碎紙片中,每一張都代表該行的最左端碎紙片。</p><p> 接下來以屬于第一類中文碎紙
53、片的007.bmp為例,該碎紙片位于最左邊位置,為了尋找與之匹配的右鄰碎紙片,首先根據(jù)問題(1)模型的求解,利用吻合度的概念,計(jì)算第一類中所有剩余碎紙片與007.bmp的左右吻合度,得到吻合度最大的右鄰碎紙片是208.bmp,接下來以208.bmp為左端碎紙片,繼續(xù)尋找下一個(gè)匹配的右鄰碎紙片。我們發(fā)現(xiàn),當(dāng)?shù)降?個(gè)時(shí),算得最優(yōu)吻合度的碎紙片是196.bmp,但通過相關(guān)知識(shí)很容易判斷,196.bmp與其左端的碎紙片內(nèi)容上并不匹配,因此,
54、這里需要添加人工干預(yù),干預(yù)的方式是選取吻合度次優(yōu)的右鄰碎紙片進(jìn)行模擬搭配,判斷內(nèi)容上是否與左端碎紙片匹配,直到選到匹配的右鄰碎紙片為止。這里經(jīng)過1次人工干預(yù)后,即可得到匹配的右鄰碎紙片000.bmp,然后繼續(xù)迭代下去,得到一行拼接復(fù)原圖,該行的碎紙片組成如表(6)所示。</p><p> 表6 007.bmp所在行的碎紙片拼接結(jié)果</p><p> 觀察007.bmp為最左邊碎紙片
55、的一行復(fù)原圖,可以發(fā)現(xiàn)此復(fù)原圖的所有碎紙片均包含在聚類的第一類中文碎紙片當(dāng)中,由此可以看出我們?cè)O(shè)計(jì)的算法大大提高了運(yùn)算效率,能夠?qū)崿F(xiàn)碎紙片的快速拼接復(fù)原。</p><p> 同理,重復(fù)上述算法,可以得到每一個(gè)最左邊碎紙片所在行的拼接結(jié)果,接下來需要拼接成一副完整的復(fù)原圖。</p><p> 這幅完整的復(fù)原圖由11個(gè)已經(jīng)拼接好的碎紙片塊組成,仿照問題(1)的思路,可以求出完整的拼接復(fù)原表
56、(見表7),求解的matlab程序見附錄2(程序2、3、4),其完整的圖片形式見附錄1(圖片3)。</p><p> 表7 中文拼接復(fù)原表</p><p> 復(fù)原圖的表格表達(dá)形式如表(7)所示,表格序號(hào)是題目附件3中碎紙片的命名,省去了后綴名“.bmp”。</p><p> 5.2.2.2 英文拼接復(fù)原</p><p> 利用每張
57、碎紙片上英文字的行中心線到頂端的距離是否局部相等進(jìn)行分類,將英文的209張碎紙片分為4類。最終得到的拼接復(fù)原結(jié)果用表格形式表達(dá),如下所示(表8):</p><p> 其完整的圖片形式見附錄(圖片4)。</p><p> 表8 英文拼接復(fù)原表</p><p> 表格序號(hào)是題目附件4中碎紙片的命名,省去了后綴名“.bmp”。</p><p&g
58、t; 5.3問題(3)的模型建立與求解</p><p> 該問題要求我們根據(jù)附件5給出的縱橫切碎片數(shù)據(jù),給出雙面打印文件的拼接復(fù)原結(jié)果,本題結(jié)合問題(2)的模型和算法,結(jié)合雙面打印文件的特點(diǎn),給出了一個(gè)準(zhǔn)確且較為快速地拼接復(fù)原方案,最終得到了拼接復(fù)原圖。</p><p> 5.3.1 模型的建立</p><p> 對(duì)于雙面打印文件,拼接時(shí),不僅要保證其正面是
59、匹配的,而且反面也要匹配。對(duì)于本題,對(duì)于某張碎片,并不知道哪面是正面或反面,因此碎片數(shù)成倍增加了。</p><p> 為了降低匹配的搜索范圍,提高模型拼接的效率,我們根據(jù)英文單詞的四線格特征,由于每個(gè)單詞均經(jīng)過中間格子,因此,中間格子所在直線可作為分類的原則。為了更加清楚直觀表達(dá)英文字母中間格子的特征。根據(jù)問題(2)原理,作出碎片的特征圖,如下圖所示。</p><p> 圖4 000
60、a.bmp碎片 圖5 000a.bmp碎片特征圖</p><p> 圖6 109b.bmp碎片 圖7 109b.bmp碎片特征圖</p><p> 圖3為000a.bmp和109b題目附件5中碎片,我們列舉出兩中情況。通過圖3可以知道,000a.bmp碎片存在三行字符,體現(xiàn)在圖4特征圖中的三個(gè)波峰和位置,同理,圖5
61、的兩行字符體現(xiàn)在圖6特征圖中兩個(gè)波峰和位置,分類利用這一特征來將相同波峰數(shù)的碎紙片作為一類。</p><p> 5.3.1.1 按行拼接部分復(fù)原圖</p><p> 基于問題(2)模型的思想,先按行拼接部分復(fù)原圖,再將所有部分復(fù)原圖拼接成完整的復(fù)原圖。</p><p> 1. 尋找最左端碎紙片:</p><p> 本題的雙面打印文件,
62、有題目可知,共有22張最左端碎片,由于邊緣碎片的文字總是預(yù)留一定空間才達(dá)到紙張邊緣,這段空間定為個(gè)像素點(diǎn),根據(jù)前面第一問英文拼接結(jié)果知道,的取值范圍是 </p><p><b> ?。?)</b></p><p> 并且只要某一張碎片其中一面被選為最左端碎片,其反面必為最右端碎片。</p><p> 基于以上英文字母的綜合特征,提出以吻
63、合度最大為目標(biāo)的規(guī)劃模型。</p><p><b> 2. 目標(biāo)函數(shù):</b></p><p><b> 吻合度最大</b></p><p><b> (10)</b></p><p><b> 3. 約束條件:</b></p>&l
64、t;p> 在選中一行中最左端碎紙片的情況下,以該碎紙片芝以復(fù)原圖表示</p><p> 對(duì)于一張碎紙片,其正面和反面不可能同時(shí)出現(xiàn)在同一面的復(fù)原圖中。這里引入一個(gè)0-1變量:</p><p><b> ?。?1)</b></p><p> 相鄰匹配的兩張碎紙片,左端碎紙片的右端邊緣與右端碎紙片的左端邊緣的灰度值是否相等,用0-1變量
65、表示</p><p><b> ?。?2)</b></p><p> 相鄰匹配的兩張碎紙片,若左端碎紙片文字行數(shù)為行,且每行文字中心距離該碎紙片頂端距離是,則右端碎紙片中至少有1行文字與自身頂端距離和某個(gè)相等,即</p><p><b> ?。?3)</b></p><p> 其中,為左端碎紙片
66、,為剩余要進(jìn)行搜索的左端碎紙片,為相鄰兩碎紙片文字與自身頂端距離相等的行數(shù),一般為1或2或3。</p><p> 因此,該單目標(biāo)規(guī)劃模型可以寫為:</p><p><b> 具體求解步驟為下:</b></p><p> Step1:找出若干張互不重復(fù)的邊界碎紙片;</p><p> Step2:選擇邊界碎紙片所在
67、的類別,根據(jù)一面吻合度達(dá)到最大的原則進(jìn)行類別搜索,同</p><p> 時(shí)輸出兩面的模擬拼接結(jié)果;</p><p> Step3:判斷輸出內(nèi)容是否吻合,若吻合,則繼續(xù)搜索下一張紙片,若不是,則選擇Step4;</p><p> Step4:搜索組內(nèi)次優(yōu)吻合度的紙片進(jìn)行拼接,若組內(nèi)沒有滿足條件的紙片,則跳出類別</p><p><b
68、> 繼續(xù)搜索;</b></p><p> Step5:依次尋找,拼接出完整的一行復(fù)原圖后,進(jìn)入下一個(gè)循環(huán),直到復(fù)原出所有的一</p><p><b> 行復(fù)原圖為止;</b></p><p> 按照上述步驟,利用matlab程序求解出所有的一行復(fù)原圖之后,再將所有部分復(fù)原圖拼接成完整的復(fù)原圖。</p>&
69、lt;p> 5.3.2 模型的求解</p><p> 通過上述求解方法,得到22個(gè)最左邊矩陣如下(表9):</p><p><b> 表9: 最左邊矩陣</b></p><p> 在通過以吻合度為目標(biāo)的規(guī)劃模型中,先以105b.bmp為例,如圖6,圖7所示,</p><p> 圖8 105b.bmp碎片
70、 圖9 105b.bmp碎片特征圖</p><p> 圖8中包含的三行文字從上往下,文字的中心到碎片頂端的距離分別是21像素,85像素,148像素。</p><p> 利用這一原理找出418個(gè)碎片進(jìn)行分類,得到了其中一組分類。如下(表10):</p><p> 表10 得到一組分類</p>
71、<p> 從上表可以看出,該類的元素總數(shù)較少,大大降低了模型搜索的范圍,并且準(zhǔn)確度較高,本方法很適合英文文字的拼接,當(dāng)吻合度最大而與左端碎紙片內(nèi)容上不匹配時(shí),添加人工干預(yù),添加人工干預(yù)的方式是選取該類中吻合度次優(yōu)的碎片進(jìn)行匹配判斷。</p><p> 再利用上述單目標(biāo)規(guī)劃模型可以得到一行的碎紙片組合,計(jì)算得到22行碎紙片組合后,仍以該模型求解得出一副完整的拼接復(fù)原圖,共兩面。結(jié)果以表格形式列出,如
72、(表11、表12),其完整的復(fù)原圖見附錄1(圖片5),程序見附錄2(程序5、6)。</p><p> 表11 第一面(碎片后綴名為.bmp)</p><p> 表12 另一面(碎片后綴名為.bmp)</p><p> 6 模型的評(píng)價(jià)與改進(jìn)</p><p><b> 6.1模型的評(píng)價(jià)</b></p>
73、;<p> 6.1.1模型的優(yōu)點(diǎn) </p><p> 模型采用了分類的方法給出碎片搭配優(yōu)先搜索范圍,再通過吻合度指標(biāo)的優(yōu)先級(jí)排序,排除了只考慮吻合度而造成的具有較大偏差的搜索,省去了為找正確搭配需要窮盡大量可能而必須經(jīng)過的人工干預(yù),能夠使碎紙片復(fù)原準(zhǔn)確無誤、方便快捷。 模型采用了簡單高效的邊界判斷法,適用于所有包含字體、圖片的碎紙片,不應(yīng)碎紙片上內(nèi)容的變化而出現(xiàn)搭配失準(zhǔn)或者搭配速度過慢的情
74、況。</p><p> 6.1.2模型的缺點(diǎn)</p><p> 模型中采用的聚類分析不具有全部類別偵查準(zhǔn)確的能力,一旦碎片類別判斷失準(zhǔn),將花費(fèi)一定的時(shí)間搜索完整個(gè)區(qū)域,會(huì)造成人工干預(yù)次數(shù)的不必要增加,沒有達(dá)到最快捷。</p><p><b> 6.2模型的改進(jìn)</b></p><p> 題中的拼接復(fù)原模型,主要適
75、用于外觀形狀非常相似的碎紙片,但是實(shí)際生活中,碎紙片往往很少有規(guī)則的幾何形狀,因此針對(duì)這種情況,就需要對(duì)模型進(jìn)行適當(dāng)改進(jìn),例如可以獲取文字行的特征,對(duì)文字方向進(jìn)行糾正,從而獲得邊緣和文字內(nèi)部的基本特征,使模型的適用范圍更加廣泛。</p><p> 7 模型的應(yīng)用與推廣</p><p> 本文采用了聚類分析以及單目標(biāo)規(guī)劃,對(duì)大量碎紙片進(jìn)行了分類,分類采用了聚類分析方法以及標(biāo)準(zhǔn)基線對(duì)準(zhǔn)分類
76、方法,聚類分析可以應(yīng)用與其他維度較高的數(shù)據(jù)中進(jìn)行分類,而標(biāo)準(zhǔn)基線對(duì)準(zhǔn)分類方法則可應(yīng)用與其他對(duì)齊問題的分類。同時(shí)得到了碎片的拼接結(jié)果,可以應(yīng)用于司法復(fù)原、歷史文獻(xiàn)修復(fù)等領(lǐng)域。</p><p> 參考文獻(xiàn)[1]百度百科,http://baike.baidu.com/,2013年9月13日;[2]王強(qiáng),馬利莊,圖像二值化時(shí)圖像特征的保留,計(jì)算機(jī)輔助與圖形學(xué)學(xué)報(bào),2000年;[3]鐘家強(qiáng),王潤生,基于邊緣的圖像配
77、準(zhǔn)改進(jìn)算法,西安電子科技大學(xué)學(xué)報(bào),2002年;[4]姜啟源,數(shù)學(xué)模型,北京:高等教育出版社,2011年;[5]張志勇,楊祖櫻,MATLAB教程,北京:北京航空航天大學(xué)出版社,2010年;[6]司守奎,孫璽菁,數(shù)學(xué)建模算法與應(yīng)用,北京:北京工業(yè)出版社,2010年。</p><p><b> 附件:</b></p><p><b> 附錄一:</
78、b></p><p> 圖片1:問題一中文圖片</p><p> 圖片2:問題一英文圖片</p><p> 圖片3:問題二中文圖片</p><p> 圖片4:問題二英文圖片</p><p> 圖片5:問題三英文圖片</p><p><b> 附錄二:</b>
79、;</p><p><b> 程序1:</b></p><p> 拼接復(fù)原模型的matlab程序</p><p> clc,clear;</p><p><b> K=[];</b></p><p> for i=0:18</p><p>
80、 a=num2str(i,'%03d');</p><p> m1=imread(['I:\2013數(shù)模國賽\題目\B\附件1\',num2str(a),'.bmp']); %m1是一個(gè)公共變量會(huì)不停的被下一張圖片信息覆蓋最后是最后一張圖片的信息</p><p><b> K=[K m1];</b></p>
81、;<p><b> end</b></p><p> for i=1:19</p><p> B{i} = K(:,[72*(i-1)+1 72*i]);</p><p><b> end</b></p><p><b> x=[];</b></p
82、><p> for i=1:19</p><p> x=[x,sum(B{i}(:,1))];</p><p><b> end</b></p><p> w=find(x==max(x));</p><p> order=[w];</p><p> x0=B{w}
83、; %開始為第w張</p><p><b> ji=[];</b></p><p> for w=1:18</p><p> [m n]=size(x0);</p><p><b> C=[];</b></p><p> for j=1:19</p>
84、<p> x1=B{j}; %排列在右邊</p><p><b> count=0;</b></p><p><b> for i=1:m</b></p><p> if x0(i,2)~=255</p><p> x0(i,2)=0;</p><p>
85、;<b> end</b></p><p> if x1(i,1)~=255</p><p> x1(i,1)=0;</p><p><b> end</b></p><p> if x0(i,2)==x1(i,1)</p><p> count=count+1;
86、</p><p><b> end</b></p><p><b> end</b></p><p> C=[C;count./m];</p><p><b> end</b></p><p> ii=find(C==max(C)) %找最
87、好的下一張</p><p> order=[order,ii]; </p><p> x0=B{ii}; %排列在左邊</p><p> ji=[ji;ii];</p><p><b> end</b></p><p><b> W=[];</b></p
88、><p> for i=1:19</p><p> W=[W,K(:,72*(order(i)-1)+1:72*order(i))];</p><p><b> end</b></p><p><b> imshow(W)</b></p><p> title('
89、;中文復(fù)原圖')</p><p><b> 程序2:</b></p><p> 問題2在分類后畫出中英文每一行的matlab程序</p><p> clc,clear,close all;</p><p><b> K=[];</b></p><p> fo
90、r i=0:208</p><p> a=num2str(i,'%03d');</p><p> m1=imread(['1379029779150\B\附件4\',num2str(a),'.bmp']); %m1是一個(gè)公共變量會(huì)不停的被下一張圖片信息覆蓋最后是最后一張圖片的信息</p><p><b>
91、 K=[K m1];</b></p><p><b> end</b></p><p> U=load('英文聚類.txt');</p><p><b> %二值化</b></p><p><b> G=K;</b></p>
92、<p> [m,n]=size(G);</p><p><b> for i=1:m</b></p><p><b> for j=1:n</b></p><p> if G(i,j)==255</p><p><b> G(i,j)=1;</b></
93、p><p> else G(i,j)=0;</p><p><b> end</b></p><p><b> end</b></p><p><b> end</b></p><p> for i=1:209</p><p&g
94、t; B{i} = G(:,[72*(i-1)+1 72*i]);</p><p><b> end</b></p><p><b> g=10;</b></p><p> for i=1:209</p><p> c(i)=sum(sum(K(:,72*(i-1)+1:72*(i-1)+
95、g)));</p><p><b> end</b></p><p> w=find(c==45900*g); %w是作為左邊邊界碎片的編號(hào)</p><p> w=[20,21,71,82,87,133,160,172,192,202,209]; %人工干預(yù),編號(hào)為146的碎片不是左邊邊界碎片</p><p>
96、<b> order=[];</b></p><p><b> l=0;</b></p><p> for z=1:11</p><p> order=[order w(z)];</p><p> x0=B{w(z)}; %開始為第w張</p><p> I=[
97、K(:,72*(w(z)-1)+1:72*w(z))];</p><p> for a=1:18</p><p> [m n]=size(x0);</p><p> C=[];E=[];</p><p> LL=find(U(:,2)==U(order(end),2));</p><p> for i=1:l
98、ength(order)</p><p> LL(find(LL==order(i)))=[];</p><p><b> end</b></p><p><b> for j=LL'</b></p><p> x1=B{j}; %排列在右邊</p><p>
99、;<b> count=0;</b></p><p><b> for i=1:m</b></p><p> if x0(i,2)==x1(i,1)</p><p> count=count+1;</p><p><b> end</b></p><
100、;p><b> end</b></p><p> E=[E;j count./m];</p><p> end </p><p> ii=E(find(E(:,2)==max(E(:,2))),1)</p><p> I=[I,K(:,72*(ii(1)-1)+1:72*ii(1))];<
101、;/p><p><b> imshow(I)</b></p><p><b> %人工干預(yù)</b></p><p> q=input('請(qǐng)輸入人工干預(yù)判斷值:') %輸入人工干預(yù)值1或者0</p><p> while q==0</p><p> E(
102、find(E(:,1)==ii(1)),2)=0;</p><p> ii=E(find(E(:,2)==max(E(:,2))),1)</p><p> I=[I(:,1:end-72),K(:,72*(ii(1)-1)+1:72*ii(1))];</p><p><b> imshow(I)</b></p><p&
103、gt; q=input('請(qǐng)輸入人工干預(yù)判斷值:') %輸入人工干預(yù)值1或者0</p><p><b> l=l+1;</b></p><p> if sum(E(:,2))==0</p><p><b> M=1:209;</b></p><p> M([LL'
104、 order])=[];</p><p><b> for j=M</b></p><p> x1=B{j}; %排列在右邊</p><p><b> count=0;</b></p><p><b> for i=1:m</b></p><p&g
105、t; if x0(i,2)==x1(i,1)</p><p> count=count+1;</p><p><b> end</b></p><p><b> end</b></p><p> C=[C;j count./m];</p><p><b>
106、 end</b></p><p> ii=C(find(C(:,2)==max(C(:,2))),1) %找最好的下一張</p><p><b> %決定是否人工干預(yù)</b></p><p> I=[I(:,1:end-72),K(:,72*(ii(1)-1)+1:72*ii(1))];</p><p
107、><b> imshow(I)</b></p><p><b> %人工干預(yù)</b></p><p> q=input('請(qǐng)輸入人工干預(yù)判斷值:') %輸入人工干預(yù)值1或者0</p><p> while q==0</p><p> C(find(C(:,1)==i
108、i(1)),2)=0;</p><p> ii=C(find(C(:,2)==max(C(:,2))),1)</p><p> I=[I(:,1:end-72),K(:,72*(ii(1)-1)+1:72*ii(1))];</p><p><b> imshow(I)</b></p><p> q=input(&
109、#39;請(qǐng)輸入人工干預(yù)判斷值:') %輸入人工干預(yù)值1或者0</p><p><b> l=l+1;</b></p><p><b> end</b></p><p><b> end</b></p><p><b> end</b>&l
110、t;/p><p> order=[order ii(1)];</p><p> x0=B{ii(1)}; %排列在左邊</p><p><b> end</b></p><p><b> figure</b></p><p><b> end</b&g
111、t;</p><p><b> l</b></p><p><b> 程序3:</b></p><p> 第二問復(fù)原英文圖片的matlab程序</p><p> clc,clear,close all;</p><p><b> K=[];</b&g
112、t;</p><p> for i=0:208</p><p> a=num2str(i,'%03d');</p><p> m1=imread(['C:\Users\asus\Desktop\1379029779150\B\附件4\',num2str(a),'.bmp']); %m1是一個(gè)公共變量會(huì)不停的被下一
113、張圖片信息覆蓋最后是最后一張圖片的信息</p><p><b> K=[K m1];</b></p><p><b> end</b></p><p> order=[20195941428912212710615611517718315223582037216683</p&
114、gt;<p> 214210911713774372081361677442004617480162180144</p><p> 7185611569175138196948173157972410012391186110</p><p> 827812920113253126141
115、19488904973131781251103116</p><p> 8752108304115918799251181516605993313847128</p><p> 1331829670168164167189112145207413135141112628179</p>
116、;<p> 160140213064139154543912412117686511611889820432</p><p> 172436720611158751468413556195736171018415345</p><p> 19276121551911853105181
117、65107515033205664068148</p><p> 202149171197199951141657910492811022710171829147</p><p> 2092285062120341431696317055193134119190163198113];</p
118、><p><b> P=[];</b></p><p> for i=1:11</p><p><b> L=[];</b></p><p> for j=1:19</p><p> A=K(:,72*(order(i,j)-1)+1:72*order(i,j));&l
119、t;/p><p><b> L=[L,A];</b></p><p><b> end</b></p><p><b> P=[P;L];</b></p><p><b> end</b></p><p> for i=1:1
120、1</p><p> B{i} = P([180*(i-1)+1 180*i],:);</p><p><b> end</b></p><p> w=9; %人工干預(yù)</p><p><b> ord=[w];</b></p><p> x0=B{w}; %
121、開始為第w行</p><p> I=[P(180*(w-1)+1:180*w,:)];</p><p> for a=1:10</p><p> [m n]=size(x0);</p><p><b> C=[];</b></p><p><b> M=1:11;</b&
122、gt;</p><p> M(ord)=[];</p><p><b> for j=M</b></p><p> x1=B{j}; %排列在下邊</p><p><b> count=0;</b></p><p><b> for i=1:n</
123、b></p><p> if x0(2,i)~=255</p><p> x0(2,i)=0;</p><p><b> end</b></p><p> if x1(1,i)~=255</p><p> x1(1,i)=0;</p><p><b&g
124、t; end</b></p><p> if x0(2,i)==x1(1,i)</p><p> count=count+1;</p><p><b> end</b></p><p><b> end</b></p><p> C=[C;j coun
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 說明本范例格式與2中格式略有不同,參賽隊(duì)可綜合參考
- 【參考格式范例七、單元教學(xué)活動(dòng)設(shè)計(jì)格式范例】
- 論文格式(可參考論文格式示例)
- 北方民族大學(xué)第27參賽隊(duì)
- 本承諾函為參考格式
- 公文寫作格式與范例
- apa格式范例
- 自評(píng)說明格式參考
- 合同中格式條款效力研究.pdf
- 公文寫作格式與范例大全
- 參賽作文格式(1) (1)
- 公文寫作格式與范例大全
- 社會(huì)實(shí)踐報(bào)告格式說明及范例
- 開題報(bào)告格式范例
- 消費(fèi)合同中格式條款的探究.pdf
- 錯(cuò)題本格式
- 論文格式與論文參考文獻(xiàn)格式
- 各類參賽作品裝裱標(biāo)準(zhǔn)格式
- 公安公文寫作格式與范例大全
- 公安公文寫作格式與范例大全
評(píng)論
0/150
提交評(píng)論