⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pickup.m

📁 利用同一密钥的混沌序列对经过置乱的水印信息实现双重加密
💻 M
字号:
clc;
clear;
%读取水印信息
Wfile_name='\shuiyin.jpg';
ma=double(imread(Wfile_name))/255;
%[m,n]=size(ma);
m=64;
n=64;
%得到嵌入的起始位置S=5,T1,T2
p1=22;
p2=22;
T1=2;
T2=4;
%读取图像信息
Cfile_name='\ImTemp.bmp';

WC_image=imread(Cfile_name);

%小波变换
[cA1,cH1,cV1,cD1] = dwt2(WC_image,'db4');
for i=p1+1:p1+96
    for j=p2+1:p2+96
       temp(i-p1,j-p2)=mod(cA1(i,j),5);
    end
end
for i=1:96
   for j=1:96
       if abs(temp(i,j))>=(T1+T2)/2
       WTemp(i,j)=1;
       else
           WTemp(i,j)=0;
       end
    end
end

randmtx=randCL(96,96,0.5,3.6);
%置换的序列同混沌序列做异或运算
for i=1:96
    for j=1:96
        if randmtx(i,j)>0.30
            randmtx(i,j)=1;
        else
            randmtx(i,j)=0;
        end
    end
end
WTemp=xor(WTemp,randmtx)
[matrix,row1,col1]=chaos(WTemp,3,96,12);
for i=1:m
    for j=1:n
        P_Temp(i,j)=matrix(i,j);
    end
end

figure(1);
%subplot(1,2,1);
imshow(WTemp),title('置乱水印');
figure(2)
imwrite(P_Temp,'jzh.bmp','bmp');
image1=imread('\jzh.bmp','bmp');
        
image1=imnoise(image1,'gaussian',0.0005);
imwrite(image1,'jzh1.bmp','bmp');
image=double(imread('\jzh1.bmp','bmp'))/255;

imwrite(image,'jzh2.bmp','bmp');
image2=imread('\jzh2.bmp','bmp');
imshow(image2),title('加躁后还原后水印');
        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -