im2cp.m

来自「ICA watermarking. Blind, fragile, robust」· M 代码 · 共 68 行

M
68
字号
function [Sr,meanr,Sg,meang,Sb,meanb]=im2cp(Imi,bckm,bckn)


%Copyright murillo 2001
%Please cite:
%F.J. Gonz醠ez-Serrano, H.Y. Molina-Bulla, J.J. Murillo-Fuentes "Independent component analysis applied to digital image watermarking". IEEE Int. Conf. on Acoustics, Speech and Signal Processing (ICASSP'2001). IEEE. Salt Lake City (EEUU). 
% and/or
%JJ Murillo-Fuentes "Independent component analisis in the blind
%watermarking of digital images" Neurocomputing Volume 70 ,  Issue 16-18
%(October 2007) Pages 2881-2890  

[m,n,dim]=size(Imi);
sm=floor(m/bckm);
sn=floor(n/bckn);

if dim==3
%Se obtienen las se馻les para cada elemento bckmXbckn
for k1=1:bckm
   for k2=1:bckn
      S=Imi(k1:bckm:m,k2:bckn:n,1);
      Sr((k2-1)*bckm+k1,:)=reshape(S(1:sm,1:sn),1,sm*sn);
      
      S=Imi(k1:bckm:m,k2:bckn:n,2);
      Sg((k2-1)*bckm+k1,:)=reshape(S(1:sm,1:sn),1,sm*sn);
      
      S=Imi(k1:bckm:m,k2:bckn:n,3);
      Sb((k2-1)*bckm+k1,:)=reshape(S(1:sm,1:sn),1,sm*sn);
   end
end
%Se normalizan las entradas: eliminamos las medias
vaux=ones(1,length(Sr));

meanr=mean(Sr');
Sr	= Sr - meanr'*vaux;
%varr=var(Srn');
%Srn=Srn./(sqrt(varr)'*vaux);

meang=mean(Sg');
Sg	= Sg - meang'*vaux;
%varg=var(Sgn');
%Sgn=Sgn./(sqrt(varg)'*vaux);

meanb=mean(Sb');
Sb	= Sb - meanb'*vaux;
%varb=var(Sbn');
%Sbn=Sbn./(sqrt(varb)'*vaux);


else
for k1=1:bckm
   for k2=1:bckn
      S=Imi(k1:bckm:m,k2:bckn:n);
      Sr((k2-1)*bckm+k1,:)=reshape(S(1:sm,1:sn),1,sm*sn);
      
   end
end
%Se normalizan las entradas: eliminamos las medias
vaux=ones(1,length(Sr));

meanr=mean(Sr');
Sr	= Sr - meanr'*vaux;
%varr=var(Srn');
%Srn=Srn./(sqrt(varr)'*vaux);


end

⌨️ 快捷键说明

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