matlab信息隐藏算法,实验四--基于DCT域的信息隐藏算法
《實(shí)驗(yàn)四--基于DCT域的信息隱藏算法》由會(huì)員分享,可在線閱讀,更多相關(guān)《實(shí)驗(yàn)四--基于DCT域的信息隱藏算法(6頁(yè)珍藏版)》請(qǐng)?jiān)谌巳宋膸?kù)網(wǎng)上搜索。
1、實(shí)驗(yàn)四 基于DCT域的信息隱藏算法一、 實(shí)驗(yàn)?zāi)康脑搶?shí)驗(yàn)為驗(yàn)證性實(shí)驗(yàn)。目的是通過(guò)實(shí)驗(yàn)使學(xué)生掌握經(jīng)典信息隱藏算法,在Matlab環(huán)境下,編寫(xiě)基于圖像DCT域的信息隱藏算法程序。用Matlab函數(shù)實(shí)現(xiàn)DCT域的信息隱藏及提取,并進(jìn)行分析。二、 實(shí)驗(yàn)要求1、實(shí)驗(yàn)前要做好充分準(zhǔn)備,包括:復(fù)習(xí)實(shí)驗(yàn)所涉及的知識(shí)點(diǎn),掌握Matlab編程語(yǔ)言和調(diào)試環(huán)境。2、實(shí)驗(yàn)時(shí)注意記錄實(shí)驗(yàn)過(guò)程中產(chǎn)生的數(shù)據(jù)、出現(xiàn)的問(wèn)題及解決問(wèn)題的方法。3、理論聯(lián)系實(shí)際,認(rèn)真分析實(shí)驗(yàn)結(jié)果,回答思考題。4、實(shí)驗(yàn)后完成實(shí)驗(yàn)報(bào)告(含相關(guān)截圖,并附打印的程序清單)。三、 實(shí)驗(yàn)環(huán)境計(jì)算機(jī)(安裝Visual C+ 6.0和Matlab 6.5以上版本)四、。
2、 實(shí)驗(yàn)原理隱秘算法核心是將我們選取的像素點(diǎn)的最不重要位依次替換成秘密信息,以達(dá)到信息隱秘的目的。在DCT域隱藏的信息處于圖像的顯著區(qū)域,比在時(shí)域嵌入信息更具有魯棒性。五、 實(shí)驗(yàn)內(nèi)容與步驟(1) 完善程序?qū)崿F(xiàn)在DCT域?qū)﹄[秘消息的嵌入。%文件名:hidedctadv.m%函數(shù)功能:本函數(shù)用于DCT域的信息隱藏%輸入格式舉例:count,msg,data=hidedctadv(lenna.jpg,1.jpg,1.txt,1982,1);%參數(shù)說(shuō)明:%image為載體圖象%imagegoal為藏有秘密信息的載體,即隱秘載體%msg為待隱藏的信息%key為密鑰,用來(lái)控制隨機(jī)選塊%alpha為控制量,用。
3、來(lái)保證編碼的正確性%count為待隱藏信息的長(zhǎng)度%result為隱藏結(jié)果function count,msg,result=hidedctadv(image,imagegoal,msg,key,alpha)%按位讀取秘密信息frr=fopen(1.txt,r);msg,count=fread(frr,ubit1);fclose(frr);data0=imread(lena.jpg);%將圖象矩陣轉(zhuǎn)為double型data0=double(data0)/255;%取圖象的一層做隱藏data=data0(:,:,1);%對(duì)圖象分塊T=dctmtx(8);%對(duì)分塊圖象做DCT變換DCTrgb=blk。
4、proc(data,8 8,P1*x*P2,T,T);DCTrgb0=DCTrgb;%產(chǎn)生隨機(jī)的塊選擇,確定圖像塊的首地址row,col=size(DCTrgb);row=floor(row/8);col=floor(col/8);a=zeros(row col);k1,k2=randinterval(a,count,2001);for i=1:countk1(1,i)=(k1(1,i)-1)*8+1;k2(1,i)=(k2(1,i)-1)*8+1;end%信息嵌入temp=0;for i=1:countif msg(i,1)=0 if DCTrgb(k1(i)+4,k2(i)+1)DCTrg。
5、b(k1(i)+3,k2(i)+2)temp=DCTrgb(k1(i)+4,k2(i)+1);DCTrgb(k1(i)+4,k2(i)+1)=DCTrgb(k1(i)+3,k2(i)+2); DCTrgb(k1(i)+3,k2(i)+2)=temp; endelseif DCTrgb(k1(i)+4,k2(i)+1)DCTrgb(k1(i)+3,k2(i)+2)DCTrgb(k1(i)+3,k2(i)+2)=DCTrgb(k1(i)+3,k2(i)+2)-10;%將原本小的系數(shù)調(diào)整得更小elseDCTrgb(k1(i)+4,k2(i)+1)=DCTrgb(k1(i)+4,k2(i)+1)-10。
6、;end end%信息寫(xiě)回保存 DCTrgb1=DCTrgb;data=blkproc(DCTrgb,8 8,P1*x*P2,T,T);result=data0;result(:,:,1)=data;imwrite(result,1.jpg);(2) 比較信息嵌入前后圖像的區(qū)別。%文件名:compare.m%函數(shù)功能:本函數(shù)完成顯示隱秘前后兩幅圖像的區(qū)別%輸入格式舉例:F=compare(blenna.bmp,scover.bmp)%參數(shù)說(shuō)明:%original是原始載體圖像%hided是隱秘后的圖像%F是差值矩陣function F=compare(original,hided)%讀取原始載。
7、體圖像矩陣W=imread(lena.jpg);imshow(W)%W=double(W)/255;%讀取隱秘后圖像矩陣E=imread(1.jpg);imshow(E)%E=double(E)/255;%將兩圖像矩陣相減,顯示效果%F=E-W;%注意,MATLAB中矩陣相減只支持double型%imshow(mat2gray(F)(3) 改變alpha值,并對(duì)所得結(jié)果進(jìn)行比較分析。%文件名:hidedctadv.m%函數(shù)功能:本函數(shù)用于DCT域的信息隱藏%輸入格式舉例:count,msg,data=hidedctadv(lenna.jpg,1.jpg,1.txt,1982,1);%參數(shù)說(shuō)明:。
8、%image為載體圖象%imagegoal為藏有秘密信息的載體,即隱秘載體%msg為待隱藏的信息%key為密鑰,用來(lái)控制隨機(jī)選塊%alpha為控制量,用來(lái)保證編碼的正確性%count為待隱藏信息的長(zhǎng)度%result為隱藏結(jié)果function count,msg,result=hidedctadv(image,imagegoal,msg,key,alpha)%按位讀取秘密信息frr=fopen(1.txt,r);msg,count=fread(frr,ubit1);fclose(frr);data0=imread(lena.jpg);%將圖象矩陣轉(zhuǎn)為double型data0=double(dat。
9、a0)/255;%取圖象的一層做隱藏data=data0(:,:,1);%對(duì)圖象分塊T=dctmtx(8);%對(duì)分塊圖象做DCT變換DCTrgb=blkproc(data,8 8,P1*x*P2,T,T);DCTrgb0=DCTrgb;%產(chǎn)生隨機(jī)的塊選擇,確定圖像塊的首地址row,col=size(DCTrgb);row=floor(row/8);col=floor(col/8);a=zeros(row col);k1,k2=randinterval(a,count,2001);for i=1:countk1(1,i)=(k1(1,i)-1)*8+1;k2(1,i)=(k2(1,i)-1)*8。
10、+1;end%信息嵌入temp=0;for i=1:countif msg(i,1)=0 if DCTrgb(k1(i)+4,k2(i)+1)DCTrgb(k1(i)+3,k2(i)+2)temp=DCTrgb(k1(i)+4,k2(i)+1);DCTrgb(k1(i)+4,k2(i)+1)=DCTrgb(k1(i)+3,k2(i)+2); DCTrgb(k1(i)+3,k2(i)+2)=temp; endelseif DCTrgb(k1(i)+4,k2(i)+1)DCTrgb(k1(i)+3,k2(i)+2)DCTrgb(k1(i)+3,k2(i)+2)=DCTrgb(k1(i)+3,k2(。
11、i)+2)-0.1;%將原本小的系數(shù)調(diào)整得更小elseDCTrgb(k1(i)+4,k2(i)+1)=DCTrgb(k1(i)+4,k2(i)+1)-0.1;end end%信息寫(xiě)回保存 DCTrgb1=DCTrgb;data=blkproc(DCTrgb,8 8,P1*x*P2,T,T);result=data0;result(:,:,1)=data;imwrite(result,2.jpg);六、 實(shí)驗(yàn)小結(jié)通過(guò)實(shí)驗(yàn),我掌握了經(jīng)典信息隱藏算法,即在Matlab環(huán)境下,編寫(xiě)基于圖像DCT域的信息隱藏算法程序。用Matlab函數(shù)實(shí)現(xiàn)DCT域的信息隱藏及提取,并進(jìn)行分析。通過(guò)該次試驗(yàn),我更熟悉了經(jīng)典信息隱藏的算法,更能熟練的運(yùn)用了。- 9。
總結(jié)
以上是生活随笔為你收集整理的matlab信息隐藏算法,实验四--基于DCT域的信息隐藏算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 防摇控制matlab,一种起重机防摇控制
- 下一篇: 帝国cms怎么增加php,帝国CMS增加