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

Answers (1)

5 Comments

Yasir
Yasir on 23 Feb 2013
Edited: Yasir on 23 Feb 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
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...
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 ,
Read Image Analyst's watermarking demo.
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);

Sign in to comment.

Asked:

on 23 Feb 2013

Community Treasure Hunt

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

Start Hunting!