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

📄 adapted.m

📁 在频域的一种自适应水印算法
💻 M
字号:
close all;
clear all;

origin=double(imread('cameraman.tif'));
water=origin(31:94,121:184);

p=origin(101:164,101:164);        %64*64

water=[1,0,0,1,1,1,0,0,1,0,1,1,0,1,0,1];
wat=[water,water,water,water];        %64bit

figure(1);
subplot(2,2,1);
imagesc(p);
axis equal;
colormap(gray);
subplot(2,2,2);
imagesc(wat);
axis equal;
le=4;
[i,length]=size(wat);

[M,N]=size(p);
 for q=1:M
    [c1(q,:),y(1,q)]=cceps(p(q,:));
 end
 average=0.02;%*(sum(sum(c1))/(M*N));
 n=0;
 for i=1:M
     n=n+1;  
     s(1,:)=c1(i,:);
     sav(1,i)=sum(sum(s))/M;
     if wat(1,n)==0
         if sav(1,i)>=average
             s(1,:)=s(1,:)+(sav(1,i)-average)*2/M;
         end
     elseif wat(1,n)==1
         if sav(1,i)<average
             s(1,:)=s(1,:)-(sav(1,i)-average)/(M*2);
         end
     end
     c11(i,:)=s(1,:);
 end
               
 for q=1:M
     c4(q,:)=icceps(c11(q,:),y(1,q));
 end
 re=c4;
subplot(2,2,3);
imagesc(re);
axis equal;

 for q=1:M
    [d1(q,:),y(1,q)]=cceps(re(q,:));
 end
 average2=0.1338;%sum(sum(d1))/(M*N);
 n=0;
 for i=1:M
     n=n+1;  
     s(1,:)=d1(i,:);
     sav2(1,i)=sum(sum(s))/M;
     if sav2(1,i)>=average
         dete(1,n)=1;
     elseif sav2(1,i)<average
         dete(1,n)=0;
     end
 end
err=0; 
for i=1:length
    if dete(1,i)~=wat(1,i)
        err=err+1;
    end
end
err/64
   
 

⌨️ 快捷键说明

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