chapter像信息偽裝技術(shù)_第1頁(yè)
chapter像信息偽裝技術(shù)_第2頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、chapter 04 圖像信息偽裝技術(shù)listing 4.1幻方的求取%文件名:magicsquares.m%程序員:祝素雯%編寫(xiě)時(shí)間:2011.11.26%函數(shù)功能:本函數(shù)將完成n 階二維幻方的求取,要求n 為奇數(shù)%輸入格式舉例:result = magicsquares(5)%參數(shù)說(shuō)明:%n 為階數(shù)%result為求得的二維幻方矩陣fun cti onresult = magicsquares (n)if mod(n, 2) = 0error( n 要求為奇數(shù))。endresult = zeros( n)。%根據(jù) P128 算法,先將 1 放在第 1 行的中間一列j = floor(n /

2、 2) + 1。中間 1 列result(1, j) = 1。%從 2 到 nA2 每個(gè)的數(shù)依次存放在前一個(gè)書(shū)的上一行、 后一列的位置上 %但下列特殊情況除外i = n + 1。便于以后從第 n 行開(kāi)始考慮起for k = 2 : n * ni = i - 1。j = j + 1。%特殊情況:如果前一個(gè)數(shù)存放在第1 行第 n 列的位置上,%則將當(dāng)前數(shù)字存放在前一個(gè)數(shù)的下面(即第 2 行第 n 列)if i ni = i + 2。j = j - 1。else%特殊情況:如果前一個(gè)數(shù)存放在第1 行,則將當(dāng)前數(shù)字存放在第if i nj = 1。endendif result(i,j) = 0 res

3、ult(i,j) = kelse%特殊情況:如果按上述規(guī)則確定的位置上已經(jīng)有數(shù)存放了 %則直接將當(dāng)前數(shù)字存放在前一個(gè)數(shù)的下面(即行數(shù)i = i + 2。j = j - 1。result(i,j) = k。endend測(cè)試結(jié)果 result = magicsquares(5): resultresult 1415i61320221012IS21311182529 result = nagicsquares(7i result =303&48110192S3847913272&曲6s1726353751416253436451315243342444212

4、33241433122231401921120 result =iiagi csquares (81? Error using =畝 12鞏要求為奇數(shù)(result(i,j)!=0)+1,列數(shù)不變)listing 4.2幻方置亂主函數(shù)%文件名: magicreplace.m%程序員:祝素雯%編寫(xiě)時(shí)間:2011.11.26%函數(shù)功能:本函數(shù)將完成對(duì)輸入的圖像信號(hào)按幻方置換策略進(jìn)行置亂%輸入格式舉例:result = magicreplace(secretimage, 1, 1983)%參數(shù)說(shuō)明:%matrix 為輸入圖像矩陣%key 為控制密鑰%cord 為 1 表示置亂變換,為0 表示復(fù)原變換

5、%result為置亂后的結(jié)果fun cti on result = magicreplace(matrix, eord, key)%. 要求輸入為圖像矩陣而非圖像文件 .% matrix = imread(image)。% %matrix = double(matrix) / 255。%. 這里以 11 階幻方為例,可以利用magicsquares%. 生成高階幻方,帶入進(jìn)行置亂操作-margin = 11。%分析原圖像尺寸并補(bǔ)遺,使其能被分成若干完整的11*11 子塊m,n = size(matrix)。rowadd = margin - mod(m, margin)。coladd = ma

6、rg in - mod( n, marg in)。if rowadd = marg inrowadd = 0。endif coladd = margincoladd = 0。endin put = uin t8(zeros(m + rowadd n + coladd)。in put(1:m, 1: n) = matrix(1:m, 1: n)。%密鑰生成隨機(jī)數(shù)rand( seed , key) 。con trol = randin t(1,1,1 margin * margi n)。%生成 11 階標(biāo)準(zhǔn)幻方%magic = magicsquares(marg in)。%這里取了一個(gè)已生成的 1

7、1 階幻方為例magic = 38 52 66 69 83 97 100 114 7 21 2461 75 78 92 106 120 2 16 30 44 478498 101115 822 2539 53 56 70107 121 317 31 34 4862 76 79 939 12 26 40 54 57 71 85 99 102 1163235 496377 80 94108 111 4 185558 728689 103 117 10 13 27 41函數(shù).67 81 95 109 112 5 19 33 36 50 6490 104 118 11 14 28 42 45 59 7

8、3 87113 6 20 23 37 51 65 68 82 96 11015 29 43 46 60 74 88 91 105 119 1圖 4.3.1 text.tiff 原圖像圖 4.3.2 text.tiff 1 次幻方置亂的結(jié)果if eord = 0con trol = margin * margin - con trol。elseif eord = 1con trol = con trol。elseerror( 輸入?yún)?shù)錯(cuò)誤)。 enddkey = mod(key, con trol)。%幻方置亂變換主過(guò)程for defi ne = 1 : dkey for r = 1 : mar

9、gin for c = 1 : margin magic(r,c) = magic(r,c) - 1。if magic(r,c) = 0magic(r,c) = margin * marginendendendend%查表置亂fun = replacemagicfu n。調(diào)用子函數(shù)%對(duì) in put 進(jìn)行 11*11 分塊處理result = blkproc(i nput, marg in marg in, fun, magic)%打印置亂后的圖像,要將double 型的矩陣轉(zhuǎn)換為灰度圖像imshow(mat2gray(result)。listing 4.3行列轉(zhuǎn)換表子函數(shù)%文件名:repla

10、cemagicfu n.m%程序員:祝素雯%編寫(xiě)時(shí)間:2011.11.26%函數(shù)功能:本函數(shù)為行列轉(zhuǎn)換表子函數(shù)%輸入格式舉例: result = replacemagicfu n( magic, P1)%參數(shù)說(shuō)明:%matrix 為輸入的幻方矩陣%P1 為默認(rèn)的 DCT 變換函數(shù)%result 為完成對(duì) 11 階幻方的行列查找后的結(jié)果fun cti onresult = replacemagicfu n( matrix, P1)margin = 11。%初始化 11 階幻方的行列查找表,%數(shù)字 i 在幻方矩陣中的橫縱坐標(biāo)分別由row(i)和 col(i)row =給出11,2,4,6,8,10

11、,1,3,5,7,9,5,7,9,11,2,4,6,8,10,1,3,10,1,3,5,7,9,11,2,4,6,8,4,6,8,10,1,3 ,4。col =11,7,3,10,6,2,9,5,1,8,4,2,9,5,1,8,4,11,7,3,10,6,4,11,7,3,10,6,2,9,5,1,8,6,2,9,5,1,8, 4,11,7,3,10,6,2 。% 計(jì)算幻方行列查找表的通用算法% % n = size(matrix)。% % row = zeros(1, n * n)。% % col = zeros(1, n * n)。% % for k = 1 : n * n% % for

12、i = 1 : n% % for j = 1 : n% %if matrix(i,j) = k% %row(1,k) = i。% %col(1,k) = j。% %end% % end% % end% % endresult = zeros(marg in, marg in)。for i = 1:marginfor j =1:marginresult(i,j) = matrix(row(P1(i,j), col(P1(i,j)endend測(cè)試結(jié)果1)文字圖像text.tiff的置亂LEVEL.住十廠可;7r;匸*子-氛|.“-抽;盧” f、sp1net5/horrte/u/rjkroeger/

13、vf UMr. . v &. . -r. i . 乂 rsi. ” 一 J*s圖 4.3.8france.tiff 20 次幻方置亂的結(jié)果圖 4.3.7france.tiff 10 次幻方置亂的結(jié)果3)圖形圖像barb.jpg的置亂圖 4.3.9 barb.jpg 原圖像圖 4.3.10 barb.jpg 1 次幻方置亂的結(jié)果圖 4.3.11 barb.jpg 5 次幻方置亂的結(jié)果圖 4.3.12 barb.jpg 20 次幻方置亂的結(jié)果4)圖形圖像lena.jpg的置亂圖 4.3.13 lena.jpg 原圖像圖 4.3.14 lena.jpg 1 次和 5 次幻方置亂的結(jié)果小結(jié)對(duì)于文本圖像,采用.tiff 文件格式置亂效果會(huì)比較好,1 次幻方置換之后文字內(nèi)容就無(wú)法辨認(rèn)了;對(duì)于非文本圖像,采用.jpg 格

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論