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

2019-02-15 16:20

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

image1=imread(num2str(filename1));

subplot(2,2,1);imshow(image1);title('original image'); % orginal image for watermarking image1=double(image1); [row,col]=size(image1); imagew=imread('dmg2.tif');

subplot(2,2,2);imshow(imagew);title('water mark'); %??ó???è?oˉêyμ÷ó?

[marked]=blockdwt2(image1,imagew); % generates the watermarked image

%markedmax = max(marked(:)); %markscale = marked/markedmax*255;

subplot(2,2,3);colormap(gray(256));image(marked);title('Watermarked image'); % shows the watermarked image

imwrite(marked,gray(256),'marked_image.bmp'); % saves the watermarked image as a bmp file

%*******??ó?ìáè?1y3ì********

watermark=marked-image1; % image adaptive watermark %watermark=watermark*255/max(watermark(:)) for i = 1:row % thresholding for j = 1:col

if watermark(i,j)>0 watermark(i,j) = 255; end

if watermark(i,j)<0 watermark (i,j) = 0; end end end

[w2 h2]=size(watermark); [w3 h3]=size(imagew); p=1; q=1;

mark=zeros(size(imagew)); for i=1:w3:w2 for j=1:h3:h2

mark=mark+watermark(i:p*w3,j:q*h3); q=q+1; end p=p+1; q=1; end

mark=mark/8;

第 26 页 共 34 页

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

subplot(2,2,4);colormap(gray(256));image(mark);title('watermark'); % shows the image adaptive watermark

imwrite(mark,gray(256),'watermark.bmp'); % saves the image adaptive watermark as a bmp file

%%%%%%%%%%%%D??ü?à??%%%%%%%%%%%%%

image1=imread(num2str(filename1));x0=image1; imaged=imread('marked_image.bmp');x2=imaged;

%%%%%%%%%%%%%%%%%%%%%%??????è?á???ó?μ?D?o?μ?D???±è%%%% fz=sum(x0.*x0); fm=sum((x0-x2).*(x0-x2)); SNR=-10*log(fm/fz)

%%%%%%%%%%%%%%%%%%%%%?????ó???ê%%%%%%%%%%%%%%%%%%%%%% mark=imread('dmg2.tif'); mark1= imread('watermark.bmp'); [row,col]=size(mark); m1=mark(:);mm1=mark1(:);

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

function [D]=blockdwt2(A,W); [row,col]=size(A); k=0.007;

[ca,ch,cv,cd] = dwt2(A,'db1'); c1 = [ch cv cd]; [h, w] = size(ca'); [m, n] = size(c1'); W=dmg(W,A);

[caa chh cvv cdd]=dwt2(W,'db1'); W=caa; size(W);

% Adding watermark image. for i=1:h

for j=1:w if W(i,j)==0 a=-0.1; else a=0.1; end

Ca(i,j)=ca(i,j)*(1+k*a); %

<--------k*abs(double(c1(i,j)))*W(i,j); de olabilir end end

D= double( idwt2(Ca,ch, cv, cd,'db1') );

第 27 页 共 34 页

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

% Damga uretme %

% imgew: Damga imgesi % imge1: Orjinal imge %

function W=dmg(imgew,imge1); [w h]=size(imgew'); [w1 h1]=size(imge1'); a=1; b=1;

W=zeros(size(imge1')); for i=1:w:w1 for j=1:h:h1

W(i:a*w,j:b*h)=imgew'; b=b+1; end a=a+1; b=1; end W=W';

基于小波变换图像水印(2)

clear all; close all; clc; M=256;%?-í???3¤?è N=64; %??ó?3¤?è

[filename1,pathname]=uigetfile('*.*','select the image'); image1=imread(num2str(filename1));

subplot(2,2,1);imshow(image1); title('original image'); image for watermarking image1=double(image1); imagew=imread('dmg2.bmp');

subplot(2,2,2);imshow(imagew);title('original watermark'); watermark %??è???ó?

[ca,ch,cv,cd] = dwt2(image1,'db1'); [cas,chs,cvs,cds] = dwt2(ca,'db1'); for i=1:N for j=1:N

if imagew(i,j)==0 a=-1; else a=1;

第 28 页 共 34 页

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

end

Ca(i,j)=cas(i,j)*(1+a*0.01); end end

IM= idwt2(Ca,chs,cvs,cds,'db1') ;

markedimage=double(idwt2(IM,ch,cv,cd,'db1')); %??ê???è?oó??ó?í???

subplot(2,2,3);colormap(gray(256));image(markedimage);title('marked image');

imwrite(markedimage,gray(256),'watermarked.bmp','bmp');

%ìáè???ó?

image1=imread(num2str(filename1));image1=double(image1); imaged=imread('watermarked.bmp'); [ca,ch,cv,cd] = dwt2(image1,'db1'); [cas,chs,cvs,cds]=dwt2(ca,'db1'); [caa,chh,cvv,cdd]=dwt2(imaged,'db1'); [caas,chhs,cvvs,cdds]=dwt2(caa,'db1'); for p=1:N for q=1:N

a=caas(p,q)-cas(p,q); if a<0 W(p,q)=0; else

W(p,q)=255; end end end

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

colormap(gray(256));image(W);title('′óo???ó?í????Dìáè?μ???ó?'); imwrite(W,gray(256),'watermark.bmp','bmp');

%%%%%%%%%%%%D??ü?à??

image1=imread(num2str(filename1));x0=image1; imaged=imread('watermarked.bmp');x2=imaged;

%%%%%%%%%%%%%%%%%%%%%%??????è?á???ó?μ?D?o?μ?D???±è%%%% fz=sum(x0.*x0); fm=sum((x0-x2).*(x0-x2)); SNR=-10*log(fm/fz)

%%%%%%%%%%%%%%%%%%%%%?????ó???ê%%%%%%%%%%%%%%%%%%%%%%

第 29 页 共 34 页

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

mark=imread('dmg2.bmp'); mark1= imread('watermark.bmp'); [row,col]=size(mark); m1=mark(:);mm1=mark1(:);

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

DCT变换图像水印:

%??è???ó?μ?3ìDò′ú?? M=256; %?-í???3¤?è N=32; %??ó?í???3¤?è K=8;

I=zeros(M,M);J=zeros(N,N);BLOCK = zeros(K,K); %??ê??-í???

subplot(3,2,1);I=imread('mona.bmp','bmp');imshow(I);title('?-ê?1??aí???');

%??ê???ó?í???

subplot(3,2,2);J=imread('flag.bmp','bmp');imshow(J);title('??ó?í???'); %??è???ó? for p=1:N for q=1:N x=(p-1)*K+1; y=(q-1)*K+1;

BLOCK=I(x:x+K-1,y:y+K-1); BLOCK=dct2(BLOCK); if J(p,q)==0 a=-1; else a=1; end

BLOCK(1,1)=BLOCK(1,1)*(1+a*0.03); BLOCK=idct2(BLOCK); I(x:x+K-1,y:y+K-1)=BLOCK; end end

%??ê???è???ó?oóμ?í???

subplot(3,2,3);imshow(I);title('??è???ó?oóμ?í???'); imwrite(I,'watermarked.bmp','bmp');

%′ó??è???ó?μ?í????Dìáè???ó?

第 30 页 共 34 页


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

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

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

马上注册会员

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