?? pickup.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 + -