数字水印源码,希望对大家学习有帮助
% 由高斯正态分布序列 g1 产生 36×4 的水印信 %号 w0,w0 由(0,1)组成
clear randn('state',1106); g1=randn(36,4); for i=1:36 for j=1:4 if g1(i,j)>=0 w0(i,j)=1; else w0(i,j)=0; end; end; end; figure; imshow(w0);title('水印'); % 对水印信号 w0 进行(7,4)汉明编码,得到一 %36×7 的分组码 x0
x0=w0; for i=1:36 s=8*x0(i,1)+4*x0(i,2)+2*x0(i,3)+x0(i,4); switch s case 0 x0(i,5)=0;x0(i,6)=0;x0(i,7)=0; case 1 x0(i,5)=0;x0(i,6)=1;x0(i,7)=1; case 2 x0(i,5)=1;x0(i,6)=1;x0(i,7)=0; case 3 x0(i,5)=1;x0(i,6)=0;x0(i,7)=1; case 4 x0(i,5)=1;x0(i,6)=1;x0(i,7)=1; case 5 x0(i,5)=1;x0(i,6)=0;x0(i,7)=0; case 6 x0(i,5)=0;x0(i,6)=0;x0(i,7)=1; case 7 x0(i,5)=0;x0(i,6)=1;x0(i,7)=0; case 8 x0(i,5)=1;x0(i,6)=0;x0(i,7)=1; case 9 x0(i,5)=1;x0(i,6)=1;x0(i,7)=0; case 10 x0(i,5)=0;x0(i,6)=1;x0(i,7)=1; case 11 x0(i,5)=0;x0(i,6)=0;x0(i,