小波变换在图像音视频水印中的应用(7)

2019-02-15 16:20

小波变换在数字水印中的应用

I=imread('mona','bmp');

J=imread('watermarked.bmp','bmp'); for p=1:N for q=1:N x=(p-1)*K+1; y=(q-1)*K+1;

BLOCK1=I(x:x+K-1,y:y+K-1); BLOCK2=J(x:x+K-1,y:y+K-1); BLOCK1=idct2(BLOCK1); BLOCK2=idct2(BLOCK2); a=BLOCK2(1,1)/BLOCK1(1,1)-1; if a<0 W(p,q)=0; else W(p,q)=1; end end end

%??ê?ìáè?μ???ó? subplot(3,2,4); imshow(W);

title('′óo???ó?í????Dìáè?μ???ó?');

%??ó?1¥?÷2aê? M=256; N=32; K=8;

I=zeros(M,M); J=zeros(M,M); w=zeros(N,N); BLOCK1=zeros(K,K); BLOCK2=zeros(K,K);

%????è???ó?oóμ?í?????DDJPEG?1?? L=imread('watermarked.bmp','bmp');

imwrite(L,'attack.jpg','jpeg','Quality',45); J=imread('attack.jpg','jpeg');

subplot(3,2,5);imshow(J);title('?1??oóμ?í???'); I=imread('mona','bmp'); %′ó?1??μ?í????Dìáè???ó? for p=1:N for q=1:N x=(p-1)*K+1;

第 31 页 共 34 页

小波变换在数字水印中的应用

y=(q-1)*K+1;

BLOCK1=I(x:x+K-1,y:y+K-1); BLOCK2=J(x:x+K-1,y:y+K-1); BLOCK1=idct2(BLOCK1); BLOCK2=idct2(BLOCK2); a=BLOCK2(1,1)/BLOCK1(1,1)-1; if a<0 W(p,q)=0; else W(p,q)=1; end end end

%??ê?ìáè?μ???ó? subplot(3,2,6); imshow(W);

title('′ó?-1y?1??μ?í????Dìáè?μ???ó?');

基于小波变换音频水印:

clear all; close all; clc;

[x,fs,nbits]=wavread('F:\\?Dò?×÷òμ?à1?\\ò??μ\\2blues1.wav');

[c,l]=wavedec(x,3,'db4'); %èy??D?2¨·??a ca3=appcoef(c,l,'db4',3); cd3=detcoef(c,l,3); cd2=detcoef(c,l,2); cd1=detcoef(c,l,1);

x=ca3; %ìáè?μí?μ?μêy lenx=length(x); %×÷?aí?2?D?o?

%y=[0.02; 0.02 ;0.02; 0.02 ;0.02; 0.02 ;0.02; 0.02 ;0.02 ;0.02]; %?áè???ó?D??¢

mark= imread('F:\\?Dò?×÷òμ?à1?\\ò??μ\\name.bmp'); [row,col]=size(mark); w=mark(:); m=length(w'); k=fix(lenx/10/m)*10; subplot(2,1,1);

imshow(mark);title('??ó?í???', 'Fontsize', 16, 'color', 'blue'); w1=w(1:m); a=0.01;

第 32 页 共 34 页

小波变换在数字水印中的应用

for i=1:k:m*k x1=x(i:i+k-1); j=fix(i/k)+1; for t=1:3

recordx(j,t)=x1(t); x1(t)=x1(t)*(1+a*w(j)); x(i:i+k-1)=x1; end end

c1=[x',cd3',cd2',cd1']; s1=waverec(c1,l,'db4'); %6o?2¢μ?μ???è???ó?oóμ?ò??μD?o? %marked=[y;s1];

wavwrite(s1,fs,nbits,'F:\\?Dò?×÷òμ?à1?\\ò??μ\\em2blues1.wav');

%??ó?ìáè?

[x2,fs,nbits]=wavread('F:\\?Dò?×÷òμ?à1?\\ò??μ\\em2blues1.wav'); [cr,lr]=wavedec(x2,3,'db4'); car3=appcoef(cr,lr,'db4',3); cdr3=detcoef(cr,lr,3); cdr2=detcoef(cr,lr,2); cdr1=detcoef(cr,lr,1); for i=1:k:m*k j=fix(i/k)+1; %5??ó?ìáè?

w21=(car3(i)/recordx(j,1)-1)/a; w22=(car3(i+1)/recordx(j,2)-1)/a; w23=(car3(i+2)/recordx(j,3)-1)/a; w2(j)=(w21+w22+w23)/3; end

w3=reshape(w2,row,col); subplot(2,1,2);

imshow(w3);title('ìáè?μ???ó?í???', 'Fontsize', 16, 'color', 'blue'); imwrite(w3,'watermark.bmp','bmp');

%D??ü?à??

[x0,fs,nbits]=wavread('F:\\?Dò?×÷òμ?à1?\\ò??μ\\2blues1.wav'); [x2,fs,nbits]=wavread('F:\\?Dò?×÷òμ?à1?\\ò??μ\\em2blues1.wav'); %%%%%%%%%%%%%%%%%%%%%%??????è?á???ó?μ?D?o?μ?D???±è%%%% fz=sum(x0.*x0); fm=sum((x0-x2).*(x0-x2)); SNR=-10*log(fm/fz)

第 33 页 共 34 页

小波变换在数字水印中的应用

%%%%%%%%%%%%%%%%%%%%%?????ó???ê%%%%%%%%%%%%%%%%%%%%%% mark= imread('F:\\?Dò?×÷òμ?à1?\\ò??μ\\name.bmp'); mark1= imread('F:\\?Dò?×÷òμ?à1?\\ò??μ\\watermark.bmp'); [row,col]=size(mark); m1=mark(:);mm1=mark1(:);

err = sum(sum(xor(m1', mm1')))/row*col

第 34 页 共 34 页


小波变换在图像音视频水印中的应用(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:WDM波分原理专题-C - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: