matlab碎纸拼接相似函数,基于蒙特卡洛算法构建能量函数的碎纸图片拼接方法
基于蒙特卡洛算法構建能量函數的碎紙圖片拼接方法
【專利摘要】本發明提供了一種基于蒙特卡洛算法構建能量函數的碎紙圖片拼接方法,主要涉及雙面打印文件的拼接及復原問題,通常由于圖片較多,信息量較大,故通常為非線性優化問題,準確建立模型難度較大,并求解較為困難,同時誤差可能較大。故本發明把圖像作為一個整體,采用基于隨機思想的蒙特卡洛算法進行選擇填充。考慮給定的來自同一頁印刷文字文件的碎紙機破碎紙片如何拼接到一起,包括:僅縱切,既縱切又橫切的情形,雙面打印文件及縱切有橫切等情況的碎紙片,可能包括中文或英文。本發明通過圖片拼接算法,可以使碎紙片的自動拼接,以獲得圖片拼接及復原效果,減少人力物力消耗,并提高拼接復原效率。
【專利說明】基于蒙特卡洛算法構建能量函數的碎紙圖片拼接方法
【技術領域】
[0001] 本發明屬于信息【技術領域】,涉及一種基于蒙特卡洛算法構建能量函數的碎紙圖片 拼接方法,具體地說,涉及一種自動破碎文件(碎紙)圖片拼接技術,并提高拼接復原效率 及準確度。
【背景技術】
[0002] 破碎文件的拼接在文件修復、司法物證復原鑒定、歷史文獻修復以及軍事情報獲 取等領域都有著重要的應用,很多碎片拼接問題都可以歸結為或近似為二維碎片的拼接問 題。碎紙拼接是二維碎片圖像拼接的典型問題。傳統上,拼接復原工作需由人工完成,準確 率較高,但效率很低。然而當碎片數量巨大,耗費大量的人力、物力,人工拼接很難在短時間 內快速、準確完成任務,而且還可能對物件造成一定的損壞。
[0003] 隨著計算機技術的發展,利用計算機編程技術,通過圖片拼接算法,可以進行碎紙 片的自動拼接,以獲得圖片拼接及復原,減少人力物力消耗,并提高拼接復原效率。
【發明內容】
[0004] 本發明的目的在于提供一種基于蒙特卡洛算法構建能量函數的碎紙圖片拼接方 法,旨在解決現有技術圖片拼接NP困難、拼接復原效率低的問題。
[0005] 本發明是這樣實現的,一種基于蒙特卡洛算法構建能量函數的碎紙圖片拼接方 法,包括以下步驟:
[0006] S1、將碎紙片掃描成二維灰度圖片形式,獲得(mXn)張,并用Matlab將圖片信息 讀取成矩陣信息;
[0007] S2、基于蒙特卡洛算法利用Matlab隨機函數randperm對上述生成的圖片產生隨 機的、不重復的mXn個圖像碎片二維組合順序;
[0008] S3、對mXn個碎片二維組合順序作為擬生成的文件圖片,基于均方根誤差RMSE, 計算圖片當中每幅圖像與鄰近圖片即上、下、左、右的能量函數,然后求出所有圖片能量函 數的和;
[0009] S4、對步驟S2進行10000次循環,并比較每次能量函數的大小,獲取能量函數最小 值;
[0010] S5、得出的最小值所對應的碎片位置即為最優的排列方式;
[0011] S6、通過多次大量的迭代,最小值逐漸收斂,獲得最優值,即最佳拼圖效果。
[0012] 本發明克服現有技術的不足,提供一種基于蒙特卡洛算法構建能量函數的碎紙圖 片拼接方法,主要涉及雙面打印文件的拼接及復原問題,通常由于圖片較多,信息量較大, 故通常為非線性優化問題,準確建立模型難度較大,并求解較為困難,同時誤差可能較大。 故本發明把圖像作為一個整體,采用基于隨機思想的蒙特卡洛算法進行選擇填充。考慮給 定的來自同一頁印刷文字文件的碎紙機破碎紙片如何拼接到一起,包括:僅縱切,既縱切 又橫切的情形,雙面打印文件及縱切有橫切等情況的碎紙片,可能包括中文或英文。對于具 體不同的三種情況具體分析如下:1)對僅縱切文件同時考慮文件當中每個碎片間左、右2 個約束關聯條件;2)對包括橫切、縱切文件同時考慮文件當中每個碎片間上、下、左、右4個 約束關聯條件;3)對雙面文件同時考慮文件當中每個碎片間上、下、左、右以及反面8個約 束關聯條件,然后,建立能量函數,通常能量函數最小即拼接效果最好,通過蒙特卡洛的隨 機性質尋找最小值,最后利用Matlab編程,并獲得最優解,并進行驗證。
【專利附圖】
【附圖說明】
[0013] 圖1是本發明基于蒙特卡洛算法構建能量函數的碎紙圖片拼接方法的步驟流程 圖;
[0014] 圖2本發明實施例中的隨著1000迭代次數能量變化情況示意圖;
[0015] 圖3是本發明實施例中的隨著10000迭代次數能量變化情況示意圖;
[0016] 圖4是本發明實施例中的碎片拼接上、下、左、右關系示意圖。
[0017] 圖5是本發明實施例中的5. 000. bmp圖像的直方圖;
[0018] 圖6是本發明實施例中的橫線圖;
[0019] 圖7是本發明實施例中的點圖;
[0020] 圖8是本發明實施例中的堅圖。
【具體實施方式】
[0021] 為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并 不用于限定本發明。
[0022] 實施例
[0023] -種基于蒙特卡洛算法構建能量函數的碎紙圖片拼接方法,如圖1所示,包括以 下步驟:
[0024] S1、將碎紙掃描成二維灰度圖片形式(mXn),并用Matlab將圖片信息讀取成矩陣 信息;
[0025] 在步驟S1中,更具體的包括:
[0026] 1)圖像預處理
[0027] 通常的圖像不能拿來直接使用,因為存在噪音、灰度等不同信息,直接使用會造成 誤差,導致結果不正確或誤拼接,所以需要對圖像進行預處理:
[0028] a)去噪處理
[0029] 給出的圖像由于成像原因、相機或電腦原因可能會出現噪音問題,而出現噪音會 容易造成數據處理誤差,比如最邊上一列如果某個像素受到噪音影響〇變成1,那么最后統 計會造成一定的誤差,所以采用通常使用的高斯濾波對圖像進行去噪處理:
【權利要求】
1. 一種基于蒙特卡洛算法構建能量函數的碎紙圖片拼接方法,其特征在于包括以下步 驟: 51、 將碎紙片掃描成二維灰度圖片形式,獲得(mXn)張,并用Matlab將圖片信息讀取 成矩陣息; 52、 基于蒙特卡洛算法利用Matlab隨機函數randperm對上述生成的圖片產生隨機的、 不重復的mXη個圖像碎片二維組合順序; 53、 對mXn個碎片二維組合順序作為擬生成的文件圖片,基于均方根誤差RMSE,計算 圖片當中每幅圖像與鄰近圖片即上、下、左、右的能量函數,然后求出所有圖片能量函數的 和; 54、 對步驟S2進行10000次循環,并比較每次能量函數的大小,獲取能量函數最小值; 55、 得出的最小值所對應的碎片位置即為最優的排列方式; 56、 通過多次大量的迭代,最小值逐漸收斂,獲得最優值,即最佳拼圖效果。
【文檔編號】G06T5/50GK104091319SQ201410298442
【公開日】2014年10月8日 申請日期:2014年6月26日 優先權日:2014年6月26日
【發明者】王曉峰, 蘇盈盈, 王洪珂, 孫寶光, 白翔文 申請人:重慶科技學院
總結
以上是生活随笔為你收集整理的matlab碎纸拼接相似函数,基于蒙特卡洛算法构建能量函数的碎纸图片拼接方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab做pca人脸识别,[转载]一
- 下一篇: php 双向加密解密,一个php双向加密