gusucode.com > 小波变换的数字水印matlab源码程序 > new_wavelet/Start_Det.m
Water_Image = imread('Add_Water_Image.bmp'); % Water_Image = imread('Add_Water_Image_JPEG_15.bmp'); %JPEG压缩的图片 % Water_Image = imread('midle33_26.5651.bmp'); %中值滤波器 % Water_Image = imread('salt0.1_15.3190.bmp'); %椒盐噪声 % Water_Image = imread('g0.1_11.4539.bmp'); % 高斯噪声 % Water_Image = imread('jianqie1.bmp'); %剪切 [m,n] = size(Water_Image); Block_Size = 16; Block_Water_Image = Block(Water_Image,Block_Size,Block_Size); Block_Num = (m*n)/(Block_Size*Block_Size); Water_Num = 8*Block_Num; Key_Num = 1000; for kk = 1:Key_Num X(1) = Key(kk); W = zeros(1,Water_Num); if X(1) > 0.5 %对初值进行判断,若大于0.5则取1,若小于0.5则取-1 W(1) = 1; else W(1) = -1; end N = Water_Num; Num_N = 0; %Num_N,Num_p 分别为1和+1的个数这里对他们进行初始化 Num_P = 0; for i = 1:(N-1) X(i+1) = 3.93*X(i)*(1-X(i)); if X(i+1) <= 0.5 W(i+1) = -1; Num_N = Num_N+1; else W(i+1) = 1; Num_P = Num_P+1; end end Water_Squ{1,kk} = W; end % X(1) = 0.37; % W = zeros(1,Water_Num); % % if X(1) > 0.5 %对初值进行判断,若大于0.5则取1,若小于0.5则取-1 % W(1) = 1; % else % W(1) = -1; % end % % N = Water_Num; % Num_N = 0; %Num_N,Num_p 分别为1和+1的个数这里对他们进行初始化 % Num_P = 0; % for i = 1:(N-1) % X(i+1) = 3.93*X(i)*(1-X(i)); % if X(i+1) <= 0.5 % W(i+1) = -1; % Num_N = Num_N+1; % else % W(i+1) = 1; % Num_P = Num_P+1; % end % end % % WaterMark = W; for i = 1:Block_Num DD{1,i} = Detected(Block_Water_Image{1,i}); end D_Squ = [DD{1,:}]; % DW_Sum = 0; % for i = 1:Water_Num % DW_Sum = D_Squ(i)*WaterMark(i)+DW_Sum; % end % Z = (1/Water_Num)*DW_Sum; for i = 1:Key_Num WW = Water_Squ{1,i}; DW_Sum = 0; for j = 1:Water_Num DW_Sum = D_Squ(j)*WW(j)+DW_Sum; end Z(i) = (1/Water_Num)*DW_Sum; end ZZ = Z(500) D_Squ_Sum = 0; for i = 1:Water_Num D_Squ_Sum = D_Squ_Sum+D_Squ(i); end D_Squ_Average = D_Squ_Sum/Water_Num; Temp_Sum = 0; for i = 1:Water_Num Temp_Sum = (D_Squ(i)-D_Squ_Average)^2+Temp_Sum; end K = Water_Num; Xigma=sqrt(Temp_Sum/K^2); p = 10^(-8); T = sqrt(2)*Xigma*erfcinv(2*p) t = 1:1000; C1 = Z(t); C2 = ones(1,1000)*T; figure,plot(t,C1/7.625,'k',t,C2/7.625,'k'); xlabel('水印序列号'); ylabel('相关值检测');