基于灰度像素理論的碎紙片拼接方法數(shù)學(xué)建模論文1-_第1頁
基于灰度像素理論的碎紙片拼接方法數(shù)學(xué)建模論文1-_第2頁
基于灰度像素理論的碎紙片拼接方法數(shù)學(xué)建模論文1-_第3頁
基于灰度像素理論的碎紙片拼接方法數(shù)學(xué)建模論文1-_第4頁
基于灰度像素理論的碎紙片拼接方法數(shù)學(xué)建模論文1-_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于灰度像素理論的碎紙片拼接方法數(shù)學(xué)建模論文基于灰度像素理論的碎紙片拼接方法摘要常規(guī)的二維碎片拼接技術(shù)一直受到科研領(lǐng)域重視,它在司法鑒定、文物修復(fù)、圖像處理等領(lǐng)域有著廣泛的應(yīng)用。本文研究的是二維碎片拼接技術(shù)中最典型的文檔類碎紙片拼接問題?;谖臋n紙片色彩明確、方向一致、無重疊等特點,利用灰度理論對問題作出解決。通過圖形掃描得到圖像,然后通過二值化,梯度算進行預(yù)處理,并運用皮爾遜相關(guān)性度量及方差分析算法進行匹配,以實現(xiàn)對紙片進行還原。本文通過MATLAB程序模型,以及圖片像素灰度理論實現(xiàn)文檔碎片的重新拼接。對于問題1,應(yīng)用圖像處理技術(shù)中的灰度理論建立了灰度模型I。在對得到灰度模型進行梯度邊緣化預(yù)處理的方法進行模型改進,建立了邊緣灰度模型II。然后借助于皮爾遜相關(guān)系數(shù)算法和MATLAB軟件,對附件中所提供的碎片進行排列拼接。對于問題2,采用化歸思想,將二維問題漸變?yōu)橐痪S問題。首先歸納碎片特征運用MATLAB軟件對碎片進行同行分類,得到11行19列的元素;采用方差分析算法和人工干預(yù)對各行中元素進行排列,得到11條橫切的圖形;采用方差分析算法和人工干預(yù)對其進行排列,得以還原。本文的亮點在于對各行中元素采用方差分析算法進行左側(cè)到右側(cè)匹配后,同時增加了右側(cè)到左側(cè)的匹配檢驗,大大減少了人工干預(yù)的工作。關(guān)鍵字:灰度理論;皮爾遜相關(guān)系數(shù)算法;梯度邊緣化;方差分析算法;人工干預(yù)

一、問題的重述問題一、對于給定的來自同一頁印刷文字文件的碎紙機破碎紙片(僅縱切),建立碎紙片拼接復(fù)原模型和算法,并針對附件1、附件2給出的中、英文各一頁文件的碎片數(shù)據(jù)進行拼接復(fù)原。如果復(fù)原過程需要人工干預(yù),請寫出干預(yù)方式及干預(yù)的時間節(jié)點。復(fù)原結(jié)果以圖片形式及表格形式表達。問題二、對于碎紙機既縱切又橫切的情形,請設(shè)計碎紙片拼接復(fù)原模型和算法,并針對附件3、附件4給出的中、英文各一頁文件的碎片數(shù)據(jù)進行拼接復(fù)原。如果復(fù)原過程需要人工干預(yù),請寫出干預(yù)方式及干預(yù)的時間節(jié)點。問題三、上述所給碎片數(shù)據(jù)均為單面打印文件,從現(xiàn)實情形出發(fā),還可能有雙面打印文件的碎紙片拼接復(fù)原問題需要解決。附件5給出的是一頁英文印刷文字雙面打印文件的碎片數(shù)據(jù)。請嘗試設(shè)計相應(yīng)的碎紙片拼接復(fù)原模型與算法,并就附件5的碎片數(shù)據(jù)給出拼接復(fù)原結(jié)果。二、模型的假設(shè)1.所修復(fù)的文章必須是一張完整的文章,碎片一定可以拼接成功,并且文章紙張完整;2.碎紙片的幾何尺寸完全相同,邊緣清晰,且碎片中字體一致無殘缺;3.在檢測是否匹配時,不存在實際中不相接的碎片但匹配度相對較高的情況。4.附件中數(shù)據(jù)真實可靠。三、符號說明問題分析問題一的分析:4.1通過對附件1、附件2進行分析,碎片在外觀形狀上并無差異,所以若對碎片進行重新匹配,可以簡化為對碎片邊緣進行匹配。考慮先運用MATLAB中的函數(shù)將數(shù)據(jù)以像素灰度模型(gray-scalemodel)的形式進行讀取。通過對結(jié)果和附件的觀察不難發(fā)現(xiàn),每片碎片列邊緣像素特征較為明顯,因此,可以通過比較樣本碎片左邊與其他待測碎片的右邊相關(guān)性(Correlationcoefficient)大小,得到最近擬合碎片,對右邊也進行類似處理。這里采用皮爾遜相關(guān)系數(shù)理論作為相關(guān)性檢測的基準(zhǔn)。選取相關(guān)性度量最高值,可以得到正確的排序序列。最后運用MATLAB中的函數(shù)將拼接后的圖像進行輸出。問題二的分析:4.2.1.與一維的區(qū)別和聯(lián)系I.區(qū)別:1)需要匹配邊數(shù)由二到四;2)一邊上可用于檢測匹配程度的像素點大幅減少;3)段落的首尾會影響檢測時的判別。II.聯(lián)系:1)都可以應(yīng)用灰度理論轉(zhuǎn)化為數(shù)值矩陣后進行分析;2)可以轉(zhuǎn)化為一維問題,可先化成若干橫條,然后11個橫條進行匹配或先化成若干縱條,然后19個縱條進行匹配。4.2.2.二維碎片的圖像分析由圖4.2.1可以發(fā)現(xiàn),行間形成的空白區(qū)域可視作一條直線,列間形成的空白區(qū)域可視作為曲折的直線。并且行間距大于列間距,因此碎片的左右兩側(cè)更不容易在碎片中出現(xiàn)白邊,白邊屬于分析匹配程度時的一種特殊情況,會提高分析難度,應(yīng)盡量避免。另外,由于碎片上下兩側(cè)的像素點少于左右兩側(cè),故在單邊進行匹配時上下比較更容易出現(xiàn)錯誤。先成一列的難度較大,先成行較簡單,并且成行后橫向像素點將增加很多,易于提高成功率,有效減少人工干預(yù)。圖.3.歸納可能為一行的所有特征,進行編程監(jiān)測以得到11行數(shù)據(jù)。采用方差分析算法對這些數(shù)據(jù)內(nèi)部的每列進行排序,得到11條橫切的圖形。然后采用方差分析算法和人工干預(yù)對其進行排列。問題三的分析:采用類似于問題二的方法對正反面分別排序,將不完整的正反面圖進行覆蓋,得到較完整圖,然后進行人工干預(yù),填入少量未識別碎片,得到拼接結(jié)果。五、模型的建立與求解問題一本題考慮到文本圖片有別于一般圖像,具有色彩穩(wěn)定,無光照因素擾亂,同時不存在碎片旋轉(zhuǎn)、變形以及遮擋的因素,所以運用基于圖像灰度的圖像配準(zhǔn)方法就能完美得解決文本圖片的自動化拼接問題。5.1.基于灰度理論求解模型對碎片進行拼接5.2對圖像建立灰度模型灰度(Grayscale)數(shù)字圖像是每個像素只有一個采樣顏色的圖像。這類圖像通常顯示為從最暗黑色到最亮的白色的灰度,盡管理論上這個采樣可以任何顏色的不同深淺,甚至可以是不同亮度上的不同顏色?;叶葓D像與黑白圖像不同,在計算機圖像領(lǐng)域中黑白圖像只有黑白兩種顏色,灰度圖像在黑色與白色之間還有許多級的顏色深度。但是,在數(shù)字圖像領(lǐng)域之外,“黑白圖像”也表示“灰度圖像”,例如灰度的照片通常叫做“黑白照片”。在一些關(guān)于數(shù)字圖像的文章中單色圖像等同于灰度圖像,在另外一些文章中又等同于黑白圖像。其實際顏色越接近白色,灰度值越接近255;越接近黑色,灰度值越接近0。對附件1中19圖片進行編號,分別為基于灰度理論得到附件1中19張碎片的0-255像素灰度圖矩陣。運用算子提取各碎片樣本的左列與右列邊緣數(shù)列,標(biāo)記為矩陣。算子的表示:梯度幅值:用卷積模板來實現(xiàn): 1.2相關(guān)性度量選取碎片左右列后,需要對碎片進行重新排序,此處,進行各碎片邊緣相關(guān)性度量。采用皮爾遜相關(guān)系數(shù)對相關(guān)性進行分析。兩個變量之間的皮爾遜相關(guān)系數(shù)定義為兩個變量之間的協(xié)方差和標(biāo)準(zhǔn)差的商:以上方程定義了總體相關(guān)系數(shù),一般表示成希臘字母。基于樣本對協(xié)方差和標(biāo)準(zhǔn)差進行估計,可以得到樣本相關(guān)系數(shù),一般表示成:一種等價表達式的是表示成標(biāo)準(zhǔn)分的均值?;诘臉颖军c,樣本皮爾遜系數(shù)是:其中簡單的二維皮爾遜相關(guān)系數(shù)是兩項間的差是每個變量值差的平方和再平方根,目的是計算其間的整體距離即不相似性,其中為樣本量,分別為兩個變量的觀測值和均值。描述的是兩個變量間線性相關(guān)強弱的程度。的取值在-1與+1之間,若表明兩個變量是正相關(guān),即一個變量的值越大,另一個變量的值也會越大;若表明兩個變量是負相關(guān),即一個變量的值越大另一個變量的值反而會越小。的絕對值越大表明相關(guān)性越強。對每一組數(shù)據(jù)進行相關(guān)系數(shù)比較可以清楚的得出最有擬合組。例如:通過MATLAB可視化顯示與擬合度最高的是即圖片與相鄰。圖5. 由上圖可見,相關(guān)系數(shù)越大,說明指標(biāo)性質(zhì)越接近。由于碎片均是正向放置,所以令分別于進行相關(guān)性度量分析,對做同樣處理,即可得到新序列。附件一結(jié)果08141215031002160104050913181107170006 根據(jù)序列排序講碎片進行重新匹配??紤]到自動化批量處理,下面,通過程序來實現(xiàn)。程序流程圖如下:圖5.1.2注釋:Ci,j代表第i個向量與第j個向量的相似度的值。 運用MATLAB軟件實現(xiàn)程序。重新匹配后的的圖片見附錄。 圖片貼合度滿意,基本達到要求。再對附件2中碎片運用此算法進行重新排序并進行拼接。重新匹配后的的圖片見附錄。由此可見,本算法具有一定的可行性,符合題設(shè)要求。程序見附錄。拼接結(jié)果:附件一結(jié)果08141215031002160104050913181107170006附件二結(jié)果03060207151811000501091310081214171604問題二本題是在問題一的基礎(chǔ)上的延伸及復(fù)雜化,對一中的縱切結(jié)果加以橫切。同樣,應(yīng)用灰度理論模型,對各個方塊碎片進行重新匹配。碎片灰度化處理,提取邊緣數(shù)列得到特定行1.流程圖2.說明此時,每一行內(nèi)的各列尚為亂序,運行該程序后通過查找可知這些行內(nèi)部的碎片序號。如下表所示。07324553566870931261371381531581661741751962081182326304150627686871001201421471681791911952112228495457659195118129141143178186188190192312143139517382107115128134135159160169176199203440891011021081131141171191231401461511541551851942075102937444855596475929810411117117218020120661920365261636769727879969911613116216317789242535384674818810310512213014816116718919313162166106109110125139145150157173181182184187197204151727336071808385132133152156165170198200202205344243475877849094971121211241271361441491641833.程序見附錄二、行內(nèi)排序1.流程圖2.說明此時,每一行內(nèi)各列得到排序,但由于白邊和逗號出現(xiàn),使得單向檢測存在很大偏差。故當(dāng)出現(xiàn)以上兩種情況時,記錄出現(xiàn)情況的位置,再倒序檢測匹配到那個位置,情況會得到好轉(zhuǎn)。3.人工干預(yù)得到各行內(nèi)正確的列序1)部分不需要更改,如第四行圖看著上圖,進行人工干預(yù)。記下應(yīng)如何修改,再找到變量后進行調(diào)序,存儲即可。4.方差匹配方差分析(ANOVA)即F檢驗,是通過分析研究中不同來源的變異對總變異的貢獻大小,從而確定可控因素對研究結(jié)果影響力的大小??傋兞?TSS):

為組別為觀測值個數(shù)(j=1,2,3,...,J),為第i組第j個觀測值,為所有觀測值的平均數(shù)。

組間變異量(BSS):

為i組內(nèi)觀測值總數(shù),為第i組的平均數(shù)

組內(nèi)變異量(WSS):

當(dāng)WSS=0時,代表各組內(nèi)的所有觀測值與各組的期望值沒有差異存在,因此只有WSS與BSS都為0情況下,才能斷定所有觀測值達到完美的一致,然而當(dāng)WSS>0,BSS=0的情況,則是各組期望值達到一致,但組內(nèi)卻存在變異,WSS=0,BSS>0,則是組內(nèi)沒有變異存在,但各組間卻存在差異,然后真實狀況不可能如此極端,因此必須比較WSS與BSS的差異來判斷方差分析的結(jié)果,也就是各組期望值是否有差異存在。而這個部份在比較變異量的過程中,必須考量均方值來比較組內(nèi)變異與組間變異量。

組間均方BMSS:=

組內(nèi)均方WMSS:=

其中k為組別數(shù)量,N為觀測值總數(shù)。兩個均方值的比較為:此比較值也就是目前慣稱的F檢定值,F(xiàn)越大,則組間均方大于組內(nèi)均方,也就是組間變易量大于組內(nèi)變異量,各組間的差異遠超出總期望值離差,代表各組的平均數(shù)存在明顯的差異,相反的,F(xiàn)越小甚至于逼近于0,則是組間變異量小于組內(nèi)變異量,代表各組間的差異很小,各組平均數(shù)則不存在明顯的差異。5.得到行內(nèi)正確排序附件三序列720813815812668175451740137535693153701663219616810076621423041231471915017912086195261871849546514318625719217811819095112212928911881411412831598219913512731602031691343931511071151768914610215411440151410111319411920715514018510811712329641112015921804837755544206101049817217159611978676999162961317963116163726177205236381484616124358118912210313019388167258910574125131821096618411018719716106150211731571812041391457115683132200178033202198151331702058515216527609434841839047121421241447711214997136164127584312345678910111213141516171819對行進行排序流程圖將上表輸入后,得圖。經(jīng)檢驗,此算法對附件四同樣可行,以下為附件四的拼接序列附件四結(jié)果1917511154190184210418064106414932204653967147201148170196198941131647810391801012610061728146865110729401581869824117150559589230374612719194931418812112610515511417618215122572027116582159139112963138153533812312017585501601879720331204110811613673362071351576431994517379161179143208217496111933142168621695419213311818916219711270846014681741371958471721569623991229018510913218195691671631661881111442063130341311025271781714266205101577414583134551856351691831524481771282001315212514019387894872121771240102115問題三此問是建立在問題二的基礎(chǔ)上進行的。由于紙張為雙頁面,可以考慮每次排序僅考慮一頁進行,匹配過程中,某一碎片被確定,則其另一面碎片數(shù)據(jù)自動從待求碎片庫中移除。由此對問題二中程序進行改造,可以得到正面大部分碎片序列,將它們拼接起來,得到正面局部圖。對反面進行相同的算法,實現(xiàn)程序,得到反面局部圖,然后將兩圖進行覆蓋,相互填補,得到較為完整的正反面圖,但是仍有少數(shù)空缺電腦難以確定。此時根據(jù)語法結(jié)構(gòu),進行人工干預(yù),得到結(jié)果圖及序列。附件五正面序列136a047b020b164a081a189a029b018a108b066b110b174a183a150b155b140b125b111a078a005b152b147b060a059b044b079b144b120a022b124a192b025a044b178b076a036b010a089b143a200a086a187a131a056a138b145b137a061a094a098b121b038b030b042a084a153b186a083b039a094b175b081a093b132a087b198a181a034b156b206a173a194a169a161b011a199a090b203a162a002b139a070a041b170a151a001a166a115a065a191b037a180b149a107b008a013b024b057b142b208b064a102a017a012b028a154a197b158b058b207b116a179a184a114b035b159b071a193a163b130b021a202b051a177a016a019a092a190a050b201b031b171a146b172b122b182a040b127b188b068a008a117a167b075a063a067b046b168b157b128b195b165a105b204a141b135a027b080a000a185b176b126a074a032b036b004b077b148a085a007a003a009a045b082a205b015a101b118a129b062b052b071a033a119b160a095b051a048b133b023a054a196a112b103b055a100a106a091b049a026a113b134b104b006b123b109b096a043b099b附件五反面序列078b111b125a140a155a150a183b174b110a066a108a018b029a189b081b164b020a047a136b089a010b036a076b178a044a025b192a124b022a120b144a079a044a059a060b147a152a005a186b153a084b042b030a038a121a098a094b061b137b145a138a056b131b187b086b200b143b199b011b161a169b194b173b206b156a034a181b198b087a132b093a081b175a094a039b083a008b107a149b180a037b191a065b115b166b001b151b170b041a070b139b002a162b203b090a114a184b179b116b207a058a158a197a154b028b012a017b102b064b208a142a057a024a013a146a171b031a201a050a190b092b019b016b177b051b202a021b130a163a193b071b159a035a165b195a128a157a168a046a067a063b075b167a117b008b068b188a127a040a182b122a172a003b007b085b148b077a004a036a032a074b126b176a185a000b080b027a135b141a204b105a023b133a048a051b095a160b119a033b071b052a062a129a118b101a015b205a082b045a009b099a043a096b109a123a006a104a134a113a026b049b091a106b100b055b103a112a196b054b模型的評價推廣本文模型通過檢驗基本解決題設(shè)問題,但是在圖形處理方面灰度理論仍然存在較大的缺陷,如對非線性光照圖片比較敏感,對旋轉(zhuǎn)、覆蓋情況敏感,計算量高等。在算法上,關(guān)聯(lián)度定義的改進,基于文字的特征盡可能設(shè)計出反映正確匹配的有效指標(biāo),提高指標(biāo)精度。但是本模型就碎紙機紙片拼接,復(fù)原準(zhǔn)確率高,自動化程度高,通用性較高,可以較完美的解決該類問題。碎紙片拼接技術(shù)看似像兒時我們做過的游戲,但是卻有及其重要的理論價值,它在司法鑒定,文物修復(fù),圖像處理中都有這個極大應(yīng)用價值,同時,根據(jù)碎紙片拼接灰度理論原理,可以應(yīng)用與人類基因組計劃中對DNA遺傳序列的匹配與連接。所以,該技術(shù)的理論意義遠大于本文所涉及內(nèi)容,推廣價值極高。七、參考文獻[1]姜啟源,數(shù)學(xué)模型(第二版),北京:高等教育出版社,1992[2]劉振航,數(shù)學(xué)建模,北京:中國人民大學(xué)出版社,2004[3]羅智中,基于文字特征的文檔碎紙片半自動拼接,2012,48(5):207-210[4]劉金根,吳志鵬.一種基于特征區(qū)域分割的圖像拼接算法[J].西安電子科技大學(xué)學(xué)報,2002,29(6):768-771[5]韓煜.基于顏色和紋理特征的計算機自動拼圖研究[D].首都師范大學(xué).2008[6]吉奧丹諾(等著),葉其孝(等譯),數(shù)學(xué)建模,北京:機械工業(yè)出版社,2009.[7]李志剛,紀玉波,薛全;邊界重疊圖像的一種快速拼接算法[J];計算機工程;2000年05期[8]汪華琴.\o"基于特征點匹配的圖像拼接方法研究"基于特征點匹配的圖像拼接方法研究[D].華中師范大學(xué).2007[9]余洪山,王耀南;一種改進型Canny邊緣檢測算法[J];計算機工程與應(yīng)用;2004年20期[9] DeSmetP.Semi-automaticForensicreconstructionofripped-updocuments[C]//10thInternationalConferenceonDocumentAnalysisandRecognition,2009:703-707.附錄附件一附件二附件三附件四附件五程序:得到每特征行元素:’picclass’clcclear%讀取附件2中數(shù)據(jù)bm=cell(1,209);s3='.bmp';fori=0:9s1='00';s2=num2str(i);s=[s1s2s3];bm{1,i+1}=imread(s);endfori=10:99s1='0';s2=num2str(i);s=[s1s2s3];bm{1,i+1}=imread(s);endfori=100:208s1=num2str(i);s=[s1s3];bm{1,i+1}=imread(s);end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%LASTROWpicnumber=zeros(1,19);picturenumber=zeros(11,19);everyrow=cell(1,19);picture=cell(11,19);A=[0,7,32,45,53,56,68,70,93,126,137,138,153,158,166,174,175,196,208;1,18,23,26,30,41,50,62,76,86,87,100,120,142,147,168,179,191,195;2,11,22,28,49,54,57,65,91,95,118,129,141,143,178,186,188,190,192;3,12,14,31,39,51,73,82,107,115,128,134,135,159,160,169,176,199,203;4,40,89,101,108,113,114,117,119,123,140,146,151,154,155,185,194,207,102;5,10,29,37,44,48,55,59,64,75,92,98,104,111,171,172,180,201,206;6,19,20,36,52,61,63,67,69,72,78,79,96,99,116,131,162,163,177;8,9,24,25,35,38,46,74,81,88,103,105,122,130,148,161,167,189,193;13,16,21,66,106,110,125,139,145,150,157,173,181,182,184,187,197,204,109;15,17,27,33,60,71,80,83,85,132,133,152,156,165,170,198,200,202,205;34,42,43,47,58,77,84,90,94,97,112,121,124,127,136,144,149,164,183];forii=2:2;forj=1:19everyrow{1,j}=bm{1,A(ii,j)+1};%將組合的單元轉(zhuǎn)化為矩陣picnumber(1,j)=A(ii,j);end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[m,n]=size(everyrow{1,1});%判斷矩陣大小bbone=ones(m,1);bb=255*ones(m,10);fork=1:19%找到第一碎條并交換到第一行tt=everyrow{1,k}(:,1:10);iftt==bb%把圖片交換到第一行t=everyrow{1,1};everyrow{1,1}=everyrow{1,k};everyrow{1,k}=t;%交換圖片編號l=picnumber(1,1);picnumber(1,1)=picnumber(1,k);picnumber(1,k)=l;endendfork=2:19%找到最后一個碎條并交換到最后一行tt=everyrow{1,k}(:,n-9:n);mmm=everyrow{1,k}(:,n-20:n-11);iftt==bbifmmm==bbelse%把圖片交換到最后一行t=everyrow{1,19};everyrow{1,19}=everyrow{1,k};everyrow{1,k}=t;%交換圖片編號l=picnumber(1,19);picnumber(1,19)=picnumber(1,k);picnumber(1,k)=l;endendend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fork=1:18%對中間過程進行排序,由前往后排tt=everyrow{1,k}(:,72);xintt=round(double(tt)./255);mmin=sum((xintt-round(double((everyrow{1,k+1}(:,1)))./255)).^2);forl=k+2:18mm=round(double((everyrow{1,l}(:,1)))./255);ss=sum((xintt-mm).^2);ifss<mminmmin=ss;t=everyrow{1,k+1};everyrow{1,k+1}=everyrow{1,l};everyrow{1,l}=t;%交換圖片編號ll=picnumber(1,k+1);picnumber(1,k+1)=picnumber(1,l);picnumber(1,l)=ll;endendend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fork=1:18%對中間過程進行排序tt=double(everyrow{1,k}(:,72));mmin=sum((tt-double(everyrow{1,k+1}(:,1))).^2);forl=k+2:18mm=double(everyrow{1,l}(:,1));ss=sum((double(tt-mm)).^2);ifss<mminmmin=ss;t=everyrow{1,k+1};everyrow{1,k+1}=everyrow{1,l};everyrow{1,l}=t;endendend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%找出差別較大的排列row1=zeros(1,18);fork=1:18piclastcol=round((double(everyrow{1,k}(:,72)))./255);picfirstcol=round((double(everyrow{1,k+1}(:,1)))./255);lastcolsum=sum(ones(m,1)-piclastcol);firstcolsum=sum(ones(m,1)-picfirstcol);corr=((ones(m,1)-piclastcol)'*(ones(m,1)-picfirstcol))/max(lastcolsum,firstcolsum);colerror=sum((picfirstcol-piclastcol).^2);ifcolerror<25&corr>0.4row1(1,k)=1;endiflastcolsum<20&firstcolsum<20piclastcol3=round((double(everyrow{1,k}(:,71:72)))./255);picfirstcol3=round((double(everyrow{1,k+1}(:,1:2)))./255);lastcolsum3=sum(piclastcol3);firstcolsum3=sum(picfirstcol3);ifsum(lastcolsum3+firstcolsum3)>(180*4-20)row1(1,k)=1;endendend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%找出白邊排序nfirst=1;nlast=19fori=1:18ifrow1(1,i)==1nfirst=nfirst+1;elsebreak;endendfori=1:18ifrow1(1,19-i)==1nlast=nlast-1;elsebreak;endendfork=nlast:-1:nfirst+1%對中間過程進行排序,由后往前排tt=everyrow{1,k}(:,1);xintt=round(double(tt)./255);mmin=sum((xintt-round((double((everyrow{1,k-1}(:,72))))./255)).^2);forl=k-1:-1:nfirst+1mm=round(double((everyrow{1,l}(:,72)))./255);ss=sum((xintt-mm).^2);ifss<mminmmin=ss;t=everyrow{1,k-1};everyrow{1,k-1}=everyrow{1,l};everyrow{1,l}=t;%交換圖片編號ll=picnumber(1,k-1);picnumber(1,k-1)=picnumber(1,l);picnumber(1,l)=ll;endendendbm=cell2mat(everyrow);%將組合的單元轉(zhuǎn)化為矩陣imshow(bm);%輸出數(shù)據(jù)fork=1:19picture{ii,k}=everyrow{1,k};picturenumber(ii,k)=picnumber(1,k);endend對每特征行內(nèi)元素排序:‘a(chǎn)llrow’clcclear%讀取附件2中數(shù)據(jù)bm=cell(1,209);s3='.bmp';fori=0:9s1='00';s2=num2str(i);s=[s1s2s3];bm{1,i+1}=imread(s);endfori=10:99s1='0';s2=num2str(i);s=[s1s2s3];bm{1,i+1}=imread(s);endfori=100:208s1=num2str(i);s=[s1s3];bm{1,i+1}=imread(s);end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%LASTROWpicnumber=zeros(1,19);picturenumber=zeros(11,19);everyrow=cell(1,19);picture=cell(11,19);A=[0,7,32,45,53,56,68,70,93,126,137,138,153,158,166,174,175,196,208;1,18,23,26,30,41,50,62,76,86,87,100,120,142,147,168,179,191,195;2,11,22,28,49,54,57,65,91,95,118,129,141,143,178,186,188,190,192;3,12,14,31,39,51,73,82,107,115,128,134,135,159,160,169,176,199,203;4,40,89,101,108,113,114,117,119,123,140,146,151,154,155,185,194,207,102;5,10,29,37,44,48,55,59,64,75,92,98,104,111,171,172,180,201,206;6,19,20,36,52,61,63,67,69,72,78,79,96,99,116,131,162,163,177;8,9,24,25,35,38,46,74,81,88,103,105,122,130,148,161,167,189,193;13,16,21,66,106,110,125,139,145,150,157,173,181,182,184,187,197,204,109;15,17,27,33,60,71,80,83,85,132,133,152,156,165,170,198,200,202,205;34,42,43,47,58,77,84,90,94,97,112,121,124,127,136,144,149,164,183];forii=2:2;forj=1:19everyrow{1,j}=bm{1,A(ii,j)+1};%將組合的單元轉(zhuǎn)化為矩陣picnumber(1,j)=A(ii,j);end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[m,n]=size(everyrow{1,1});%判斷矩陣大小bbone=ones(m,1);bb=255*ones(m,10);fork=1:19%找到第一碎條并交換到第一行tt=everyrow{1,k}(:,1:10);iftt==bb%把圖片交換到第一行t=everyrow{1,1};everyrow{1,1}=everyrow{1,k};everyrow{1,k}=t;%交換圖片編號l=picnumber(1,1);picnumber(1,1)=picnumber(1,k);picnumber(1,k)=l;endendfork=2:19%找到最后一個碎條并交換到最后一行tt=everyrow{1,k}(:,n-9:n);mmm=everyrow{1,k}(:,n-20:n-11);iftt==bbifmmm==bbelse%把圖片交換到最后一行t=everyrow{1,19};everyrow{1,19}=everyrow{1,k};everyrow{1,k}=t;%交換圖片編號l=picnumber(1,19);picnumber(1,19)=picnumber(1,k);picnumber(1,k)=l;endendend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fork=1:18%對中間過程進行排序,由前往后排tt=everyrow{1,k}(:,72);xintt=round(double(tt)./255);mmin=sum((xintt-round(double((everyrow{1,k+1}(:,1)))./255)).^2);forl=k+2:18mm=round(double((everyrow{1,l}(:,1)))./255);ss=sum((xintt-mm).^2);ifss<mminmmin=ss;t=everyrow{1,k+1};everyrow{1,k+1}=everyrow{1,l};everyrow{1,l}=t;%交換圖片編號ll=picnumber(1,k+1);picnumber(1,k+1)=picnumber(1,l);picnumber(1,l)=ll;endendend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fork=1:18%對中間過程進行排序tt=double(everyrow{1,k}(:,72));mmin=sum((tt-double(everyrow{1,k+1}(:,1))).^2);forl=k+2:18mm=double(everyrow{1,l}(:,1));ss=sum((double(tt-mm)).^2);ifss<mminmmin=ss;t=everyrow{1,k+1};everyrow{1,k+1}=everyrow{1,l};everyrow{1,l}=t;endendend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%找出差別較大的排列row1=zeros(1,18);fork=1:18piclastcol=round((double(everyrow{1,k}(:,72)))./255);picfirstcol=round((double(everyrow{1,k+1}(:,1)))./255);lastcolsum=sum(ones(m,1)-piclastcol);firstcolsum=sum(ones(m,1)-picfirstcol);corr=((ones(m,1)-piclastcol)'*(ones(m,1)-picfirstcol))/max(lastcolsum,firstcolsum);colerror=sum((picfirstcol-piclastcol).^2);ifcolerror<25&corr>0.4row1(1,k)=1;endiflastcolsum<20&firstcolsum<20piclastcol3=round((double(everyrow{1,k}(:,71:72)))./255);picfirstcol3=round((double(everyrow{1,k+1}(:,1:2)))./255);lastcolsum3=sum(piclastcol3);firstcolsum3=sum(picfirstcol3);ifsum(lastcolsum3+firstcolsum3)>(180*4-20)row1(1,k)=1;endendend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%找出白邊排序nfirst=1;nlast=19fori=1:18ifrow1(1,i)==1nfirst=nfirst+1;elsebreak;endendfori=1:18ifrow1(1,19-i)==1nlast=nlast-1;elsebreak;endendfork=nlast:-1:nfirst+1%對中間過程進行排序,由后往前排tt=everyrow{1,k}(:,1);xintt=round(double(tt)./255);mmin=sum((xintt-round((double((everyrow{1,k-1}(:,72))))./255)).^2);forl=k-1:-1:nfirst+1mm=round(double((everyrow{1,l}(:,72)))./255);ss=sum((xintt-mm).^2);ifss<mminmmin=ss;t=everyrow{1,k-1};everyrow{1,k-1}=everyrow{1,l};everyrow{1,l}=t;%交換圖片編號ll=picnumber(1,k-1);picnumber(1,k-1)=picnumber(1,l);picnumber(1,l)=ll;endendendbm=cell2mat(everyrow);%將組合的單元轉(zhuǎn)化為矩陣imshow(bm);%輸出數(shù)據(jù)fork=1:19picture{ii,k}=everyrow{1,k};picturenumber(ii,k)=picnumber(1,k);endend對特征行排序:‘pictureprint’clcclear%讀取附件2中數(shù)據(jù)bm=cell(1,209);s3='.bmp';fori=0:9s1='00';s2=num2str(i);s=[s1s2s3];bm{1,i+1}=imread(s);endfori=10:99s1='0';s2=num2str(i);s=[s1s2s3];bm{1,i+1}=imread(s);endfori=100:208s1=num2str(i);s=[s1s3];bm{1,i+1}=imread(s);end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%LASTROWpicnumber=zeros(1,19);picturenumber=zeros(11,19);everyrow=cell(1,19);picture=cell(11,19);A=[7208138158126681754517401375356931537016632196168100766214230412314719150179120861952618718495465143186257192178118190951122129289118814114128315982199135127316020316913439315110711517689146102154114401514101113194119207155140185108117123296411120159218048377555442061010498172171596119786769991629613179631161637261772052363814846161243581189122103130193881672589105741251318210919716184110187661061502117315718120413914571156831322001780332021981513317020585152165276094348418390471214212414477112149971361641275843];forii=1:11;forj=1:19everyrow{1,j}=bm{1,A(ii,j)+1};%將組合的單元轉(zhuǎn)化為矩陣picnumber(1,j)=A(ii,j);endfork=1:19picture{ii,k}=everyrow{1,k};picturenumber(ii,k)=picnumber(1,k);endend%bm=cell2mat(picture);%將組合的單元轉(zhuǎn)化為矩陣%imshow(bm);%輸出數(shù)據(jù)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%picrow=cell(11,1);fori=1:11picrow{i,1}=[picture{i,1},picture{i,2},picture{i,3},picture{i,4},picture{i,5},...picture{i,6},picture{i,7},picture{i,8},picture{i,9},picture{i,10},...picture{i,11},picture{i,12},picture{i,13},picture{i,14},...picture{i,15},picture{i,16},picture{i,17},picture{i,18},picture{i,19}];endfirstcolumn=cell(11,1);%fori=1:11%firstcolumn{i,1}=bm{1,A(i,2)+1};%endfirstcolumn=picrow;[m,n]=size(firstcolumn{1,1});%判斷矩陣大小bb=255*ones(30,n);fork=1:11%找到第一碎條并交換到第一行tt=firstcolumn{k,1}(1:30,:);mmm=firstcolumn{k,1}(31:60,:);iftt==bbifmmm==bbelset=firstcolumn{1,1};firstcolumn{1,1}=firstcolumn{k,1};firstcolumn{k,1}=t;endendendfork=2:11%找到最后一個碎條并交換到最后一行tt=firstcolumn{k,1}(m-29:m,:);mmm=firstcolumn{k,1}(m-60:m-31,:);iftt==bbifmmm==bbelset=firstcolumn{11,1};firstcolumn{11,1}=firstc

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論