Help in DCT watermark embedding process

hi everyone, i got confuse regarding of this approach of watermark and still now i can't get it clearly therefor i make a post hopeful someone help me the required : 1- the steps of embedding process 2- Matlab script
Many Thanks

Respuestas (1)

Walter Roberson
Walter Roberson el 23 de Feb. de 2013

0 votos

5 comentarios

Yasir
Yasir el 23 de Feb. de 2013
Editada: Yasir el 23 de Feb. de 2013
many Thanks for reply Sir this link it;s diffrent what i have been read about of DCT could you open this link http://ebookbrowse.com/lecture7-dct-domain-watermarking-pdf-d287695195 and there is block diagram for embedding process could you help me to script it in matlab
Walter Roberson
Walter Roberson el 23 de Feb. de 2013
I would prefer you spent your time searching this resource as there have been a fair number of postings on using DCT and watermarking.
Once you have gone through those, you can start coding yourself, and post here when you encounter errors that you do not understand and cannot solve with the debugger.
I have a book to read, groceries to buy...
Yasir
Yasir el 23 de Feb. de 2013
i already did ,but i failed i know how to make dct for image and block it but i don;t know how to embed original image with watermark image also how to make a pseudo roundom for watermark image
i appreciated your help friend ,
Walter Roberson
Walter Roberson el 23 de Feb. de 2013
Read Image Analyst's watermarking demo.
Yasir
Yasir el 26 de Feb. de 2013
Editada: Yasir el 26 de Feb. de 2013
hi Walter,plz your help to finilize it Kindly i tried the below code to implement it but seems no thing am working in Cox DCT approach depend to forumla ti=ti+atixi, a=0.1
[fname pthname]=uigetfile('*.jpg;*.png;*.tif;*bmp','Select the Asset Image'); %select image
I=imread([pthname fname]);
origy=rgb2gray(I);
origdct=dct2(origy);
[rows cols]=size(origdct);
imglen=rows*cols;
origrddct=reshape(origdct, 1, imglen);
origs=sort(origrddct,'descend');%re-ordering all the absolute values
wmsz=2223; %watermark size
W=randn(1,wmsz);%generate a Gaussian spread spectrum noise
%find the index of largest coffiencent
for k=1:wmsz
for i=1:imglen
if (origs(k)==origrddct(i))
m(k)=i;
display(i);
end
end
end
%embedded formula
for j=1 :wmsz
origsn(j)=((origs(j) * 1)+ (0.3*origs(j)* W(j)));
end
for n=1: wmsz-1
for f=1:imglen
if (f == m(n) )
origrddct(f)=origsn(n);
end
end
end
mx=reshape(origrddct,rows,cols);
oridctx=idct2(mx);
figure , imshow(oridctx);
figure,imshow(origy);

Iniciar sesión para comentar.

Etiquetas

Preguntada:

el 23 de Feb. de 2013

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by