?? wmpm.m
字號:
function [Im_wm,pmask]=rwtcode(Image,Key,SNR,WM)
%%% Robust Watermarking Technique
%%% Ex. usage: y=rwtcode(x,12345,-25);
%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
x=Image;
[M,N]=size(x);
[Nfil,Nfil]=size(WM);
%%% Estimaci髇 of the perceptual mask using sobel gradient
sobelx=[1 0 -1; 2 0 -2; 1 0 -1];
sobely=sobelx';
ex=conv2(x,sobelx,'same');
ey=conv2(x,sobely,'same');
pm=0.1*sqrt(ex.^2+ey.^2);
%load lenapm2
%pm=lenapm2;
nvisib=0.1;
beta=.15;
pmask= nvisib * exp(beta * pm);
%Im_wm=WM.*sqrt(pmask); %% WM
NB=1;
%Im_wm=WM.*sqrt(pmask); %% WM
Im_wm=WM.*(pmask).^.2; %% WM
%SNR_tot=10*log10((mean2(add_wm.^2))/(Px))
%%% cadena de bits
%%Nfil=2^4;
%NB=Nfil*Nfil;
%relleno=zeros(length(x)/Nfil);
%relleno(M/Nfil/2,M/Nfil/2)=1;
%%mensaje=sign(randn(Nfil));
%Ak=kron(WM,relleno); %Ak=kron(mensaje,relleno);
%Ak=WM;
%Key=34;
%randn('seed',Key);
%wm0=randn(size(x));
%dft_wm0=fft2(wm0);
%dft_Ak=fft2(Ak);
%wm=real(ifft2(dft_wm0.*dft_Ak));
%wm=Ak;
%SNR=-25;
%Px=mean2(x.^2);
%Pwm=10^(SNR/10)*Px;
%k=sqrt(Pwm/mean2( (WM.*sqrt(pmask)).^2 )); %k=sqrt(NB*Pwm/mean2( (wm.*sqrt(pmask)).^2 ));
%add_wm=k*WM.*sqrt(pmask); % add_wm=k/sqrt(NB)*wm.*sqrt(pmask); %% WM
%y=x+add_wm; %%% Image + WM
%Im_wm=add_wm;
%SNR_tot=10*log10((mean2(add_wm.^2))/(Px))
pinta=0;
if pinta
figure
imagesc(Im_wm)
%pause
end
return
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -