整理绝对可运行加密图像中的可逆数据隐藏算法matlab代码基于张新鹏教授的算法.docx
- 文档编号:23161668
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:10
- 大小:16.76KB
整理绝对可运行加密图像中的可逆数据隐藏算法matlab代码基于张新鹏教授的算法.docx
《整理绝对可运行加密图像中的可逆数据隐藏算法matlab代码基于张新鹏教授的算法.docx》由会员分享,可在线阅读,更多相关《整理绝对可运行加密图像中的可逆数据隐藏算法matlab代码基于张新鹏教授的算法.docx(10页珍藏版)》请在冰豆网上搜索。
整理绝对可运行加密图像中的可逆数据隐藏算法matlab代码基于张新鹏教授的算法
(绝对可运行)加密图像中的可逆数据隐藏算法matlab代码(基于张新鹏教授的算法)(推荐完整)
编辑整理:
尊敬的读者朋友们:
这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((绝对可运行)加密图像中的可逆数据隐藏算法matlab代码(基于张新鹏教授的算法)(推荐完整))的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(绝对可运行)加密图像中的可逆数据隐藏算法matlab代码(基于张新鹏教授的算法)(推荐完整)的全部内容。
(绝对可运行)加密图像中的可逆数据隐藏算法matlab代码(基于张新鹏教授的算法)(推荐完整)
编辑整理:
张嬗雒老师
尊敬的读者朋友们:
这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布到文库,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是我们任然希望(绝对可运行)加密图像中的可逆数据隐藏算法matlab代码(基于张新鹏教授的算法)(推荐完整)这篇文档能够给您的工作和学习带来便利。
同时我们也真诚的希望收到您的建议和反馈到下面的留言区,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请下载收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为〈(绝对可运行)加密图像中的可逆数据隐藏算法matlab代码(基于张新鹏教授的算法)(推荐完整)>这篇文档的全部内容.
%ThisistheprogramofReversibleDataHidinginEncryptedDomain
clc;
clear;
%===============Readimage===========================
original_p=rgb2gray(imread('LENA。
tif'));
[m,n]=size(original_p);
%==============Imageencryption======================
random_bits=rand(m,n*8)<=0.5;%伪随机序列
fori=1:
m
forj=1:
n
s=0;
fork=0:
7
b(k+1)=mod(fix(double(original_p(i,j))/(2^k)),2);
eb(k+1)=xor(b(k+1),random_bits(i,8*j+k—7));
s=s+eb(k+1)*(2^k);
end
encrypted_image(i,j)=s;
end
end
figure
(1);
subplot(1,2,1);
imshow(original_p);
holdon;
title(’Originalimage’,'fontsize’,16);
subplot(1,2,2);
encrypted_image=uint8(encrypted_image);
imshow(encrypted_image);
title(’Encryptedimage','fontsize',16);
%================Dataembedding======================
size=8;%分块大小
N=6;%置乱周期
number1=3;
number2=N-number1;
lim_row=fix(m/size);%图像的分块数
lim_col=fix(n/size);%图像的分块数
bitts=3;
watermessage=rand(lim_row,lim_col)<0.5;%水印信息
%======pseudo_randomly=======
fori=1:
lim_row
forj=1:
lim_col
block_image{i,j}=encrypted_image((size*i—size+1):
size*i,(size*j—size+1):
size*j);%分块
fork=1:
size
fort=1:
size
index=arnold(k,t,size,number1);%arnoldispermutateionfunction;
arno_block_image{i,j}(index
(1)+1,index
(2)+1)=block_image{i,j}(k,t);
end
end
%数据嵌入
sum0=zeros(size/2,size);
ifwatermessage(i,j)==0
fork=0:
7
bbb{k+1}=mod(fix(double(arno_block_image{i,j}(1:
size/2,:
))/(2^k)),2);
ifk〈bitts
bbb{k+1}=~bbb{k+1};
end
sum0=sum0+bbb{k+1}*(2^k);
end
data_image{i,j}=[sum0;double(arno_block_image{i,j}(size/2+1:
size,:
))];
end
sum1=zeros(size/2,size);
ifwatermessage(i,j)==1
fork=0:
7
bbb{k+1}=mod(fix(double(arno_block_image{i,j}(size/2+1:
size,:
))/(2^k)),2);
ifk〈bitts
bbb{k+1}=~bbb{k+1};
end
sum1=sum1+bbb{k+1}*(2^k);
end
data_image{i,j}=[double(arno_block_image{i,j}(1:
size/2,:
));sum1];
end
fork=1:
size
fort=1:
size
index=arnold(k,t,size,number2);%arnoldispermutateionfunction;
re_data_image{i,j}(index
(1)+1,index
(2)+1)=data_image{i,j}(k,t);
end
end
%合成嵌入数据后的图像
data_en_image((size*i—size+1):
size*i,(size*j—size+1):
size*j)=re_data_image{i,j};
end
end
%=====Encryptimagewhichcontainsdata====
fori=1:
lim_row*size
forj=1:
lim_col*size
s=0;
fork=0:
7
b(k+1)=mod(fix(data_en_image(i,j)/(2^k)),2);
eb(k+1)=xor(b(k+1),random_bits(i,8*j+k—7));
s=s+eb(k+1)*(2^k);
end
de_data_image(i,j)=s;
end
end
figure
(2);
holdon;
subplot(1,2,1);
imshow(original_p);
title(’Originalimage’,’fontsize’,16);
subplot(1,2,2);
imshow(uint8(de_data_image));
title(’Decryptedimagecontainsdata’,'fontsize',16);
%直接解密图像的峰值信噪比
sumsss=0;
fori=1:
lim_row*size
forj=1:
lim_col*size
sumsss=(de_data_image(i,j)—double(original_p(i,j)))^2+sumsss;
end
end
mse=sumsss/((lim_row*size)*(lim_row*size));
psnr=10*log10(255^2/mse);
%======Extractdataandrecoverimage=======
fori=1:
lim_row
forj=1:
lim_col
block_de_image{i,j}=de_data_image((size*i-size+1):
size*i,(size*j—size+1):
size*j);%分块
fork=1:
size
fort=1:
size
index=arnold(k,t,size,number1);%arnoldispermutateionfunction;
ar_block_de_image{i,j}(index
(1)+1,index
(2)+1)=block_de_image{i,j}(k,t);
end
end
sum0=zeros(size/2,size);
sum1=zeros(size/2,size);
fork=0:
7
bbb0{k+1}=mod(fix(ar_block_de_image{i,j}(1:
size/2,:
)/(2^k)),2);
bbb1{k+1}=mod(fix(ar_block_de_image{i,j}(size/2+1:
size,:
)/(2^k)),2);
ifk bbb0{k+1}=~bbb0{k+1}; bbb1{k+1}=~bbb1{k+1}; end sum0=sum0+bbb0{k+1}*(2^k); sum1=sum1+bbb1{k+1}*(2^k); end ar_H0_image{i,j}=[sum0;ar_block_de_image{i,j}(size/2+1: size,: )]; ar_H1_image{i,j}=[ar_block_de_image{i,j}(1: size/2,: );sum1]; fork=1: size fort=1: size index=arnold(k,t,size,number2);%arnoldispermutateionfunction; H0_image{i,j}(index (1)+1,index (2)+1)=ar_H0_image{i,j}(k,t); H1_image{i,j}(index (1)+1,index (2)+1)=ar_H1_image{i,j}(k,t); end end f0=0; f1=0; foru=2: size-1 forv=2: size—1 f0=f0+abs(H0_image{i,j}(u,v)—(H0_image{i,j}(u-1,v)+H0_image{i,j}(u,v-1)+H0_image{i,j}(u+1,v)+H0_image{i,j}(u,v+1))/4); f1=f1+abs(H1_image{i,j}(u,v)—(H1_image{i,j}(u-1,v)+H1_image{i,j}(u,v—1)+H1_image{i,j}(u+1,v)+H1_image{i,j}(u,v+1))/4); end end if(f0-f1)〈0 extract_bits(i,j)=0; recover_image(size*i—size+1: size*i,size*j-size+1: size*j)=H0_image{i,j}; else extract_bits(i,j)=1; recover_image(size*i-size+1: size*i,size*j-size+1: size*j)=H1_image{i,j}; end end end figure(3); subplot(1,2,1); imshow(original_p); holdon; title(’Originalimage’,’fontsize',16); subplot(1,2,2); recover_image=uint8(recover_image); imshow(recover_image); holdon; title(’Recoveredimage’,'fontsize’,16); %==============analysis============ diff=original_p(1: lim_row*size,1: lim_col*size)—recover_image; counts=0; fori=1: lim_row forj=1: lim_col block_diff{i,j}=diff((size*i-size+1): size*i,(size*j-size+1): size*j);%分块 ifextract_bits(i,j)~=watermessage(i,j) block_diff{i,j}=ones(size,size)*255; counts=counts+1; else block_diff{i,j}=original_p((size*i—size+1): size*i,(size*j—size+1): size*j); end diff_image((size*i-size+1): size*i,(size*j-size+1): size*j)=block_diff{i,j}; end end figure(4); imshow(diff_image); holdon; %title(’Blocksofincorrect’,'fontsize',16); %错误率与分块大小的关系 rate=counts/((lim_row)*(lim_col))
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 整理 绝对 运行 加密 图像 中的 可逆 数据 隐藏 算法 matlab 代码 基于 张新鹏 教授