资源描述:
《数字水印源码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数字水印源码,希望对大家学习有帮助.%由高斯正态分布序列g1产生36×4的水印信%号w0,w0由(0,1)组成。clearrandn('state',1106);g1=randn(36,4);fori=1:36 forj=1:4 ifg1(i,j)>=0 w0(i,j)=1; elsew0(i,j)=0; end; end;end;figure;imshow(w0);title('水印');%对水印信号w0进行(7,4)汉明编码
2、,得到一%36×7的分组码x0。x0=w0;fori=1:36 s=8*x0(i,1)+4*x0(i,2)+2*x0(i,3)+x0(i,4); switchs case0 x0(i,5)=0;x0(i,6)=0;x0(i,7)=0; case1 x0(i,5)=0;x0(i,6)=1;x0(i,7)=1; case2 x0(i,5)=1;x0(i,6)=1;x0(i,7)=0;
3、 case3 x0(i,5)=1;x0(i,6)=0;x0(i,7)=1; case4 x0(i,5)=1;x0(i,6)=1;x0(i,7)=1; case5 x0(i,5)=1;x0(i,6)=0;x0(i,7)=0; case6 x0(i,5)=0;x0(i,6)=0;x0(i,7)=1; case7 x0(i,5)=0;x0(
4、i,6)=1;x0(i,7)=0; case8 x0(i,5)=1;x0(i,6)=0;x0(i,7)=1; case9 x0(i,5)=1;x0(i,6)=1;x0(i,7)=0; case10 x0(i,5)=0;x0(i,6)=1;x0(i,7)=1; case11 x0(i,5)=0;x0(i,6)=0;x0(i,7)=0; case12
5、 x0(i,5)=0;x0(i,6)=1;x0(i,7)=0; case13 x0(i,5)=0;x0(i,6)=0;x0(i,7)=1; case14 x0(i,5)=1;x0(i,6)=0;x0(i,7)=0; case15 x0(i,5)=1;x0(i,6)=1;x0(i,7)=1; end;end;%对x0进行行向位扩展,得到一个由(-1,1)组成%的扩展序列y。
6、cr为扩展因子。cr=256;fori=1:252 ifx0(i)==1 y(i,1:cr)=1; elsey(i,1:cr)=-1; end;end;y(253:256,:)=0;%以下产生伪随机序列p。为此先设定密钥(1114)%并产生高斯正态分布序列g2,再由g2产生由(-1,1)%组成的伪随机序列p。randn('state',1114);g2=randn(256,256);<5.17用MATLAB数字图像水印 一、引言随着Internet的普及,信息的安全保护问题日益突
7、出。如何有效地防止数据的非法复制和鉴别数字媒体的知识产权,成为亟需解决的问题。1993年Caronni提出了数字水印的概念,并应用于数字图像,此后,研究人员将数字水印的概念扩展到电视图像和声音等领域,数字水印技术作为版权保护的重要手段而得到了广泛的研究和应用。数字水印技术涉及到大量图像处理算法、数学计算工具等,用普通编程工具实现上述算法将要花费大量的时间。MATLAB语言是MathWorks公司推出的一种简单、高效、功能极强的高级语言,具有高性能数值计算能力和可视化计算环境。许多复杂的计算问题只需短短的几行代码
8、就可在MATLAB中实现。本文基于典型的DCT(离散余弦变换)数字水印算法过程,详细介绍用MATLAB实现数字水印的嵌入、提取和攻击测试的方法。二、数字水印技术从信号处理的角度看,在载体图像中嵌入数字水印可以视为在强背景(即原始图像)下叠加一个视觉上看不到的弱信号(水印),由于人的视觉系统(HumanVisualSystem,HVS)分辨率受到一定的限制,只要叠加信号的幅度低于HVS的