📄 choasw.m
字号:
%choas sequence watermarking
clear all
[I,map]=imread('d:\stf\matpro\pro1\fds.bmp');
I=double(I)/255;
[m,n]=size(I);
alpha=1;
%TT=dct2(I);T=dctmtx(8);Fk1=blkproc(I,[8 8],'P1*x*P2',T,T');
Fk=blkproc(I,[8 8],'dct2(x)');
%----------------------------------------------
%a(i,j) is min gan du
%----------------------------------------------
%----------------------------------------------
mask=[1 1 1 1 0 0 1 1
1 1 1 0 0 0 1 1
1 1 0 0 0 1 1 1
1 0 0 0 1 1 1 1
0 0 0 1 1 1 1 1
0 0 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1];
Fkc=blkproc(Fk,[8 8],'P1.*x',mask);
%----------------------------------------------
%watermarking processing
%----------------------------------------------
Cz=blkproc(Fk,[8 8],'chaoswm(x)');%Cz is block of 128x128
w=choasq(128);%chaos sequence 128x128
%Cz=Cz.*exp(alpha.*w);%watermarking embeded vi'=vi*exp(a*xi)
Cd=Cz.*(ones(128)+alpha.*w);
Fkz=blkproc(Cd,[4 4],'chaoswn(x)');%Image matrix of 256x256
%----------------------------------------------
%watermarked Image
%----------------------------------------------
Fki=Fkc+Fkz;
I2=blkproc(Fki,[8 8],'idct2(x)');
%imwrite(I2*255,map,'d:\stf\matpro\pro1\c1.bmp');
%imshow(I),figure,imshow(I2);
%------------------------------------------------
%watermark detection
%------------------------------------------------
%[I,map]=imread('d:\stf\matpro\pro1\c1.bmp');
Di=blkproc(I2,[8 8],'dct2(x)');
Dz=blkproc(Fk,[8 8],'chaoswm(x)');
Dd=blkproc(Di,[8 8],'chaoswm(x)');%detect watermark in image
Dt=(Dd./(Dz+eps)-ones(128))./alpha;%44
%------------------------------------------------
%xiangguan
%------------------------------------------------
Lou=sum(sum(Dt.*w))/sum(sum(w.^2));
%a=corr2(I5,w)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -