4.5 | 3 ratings Rate this file 152 Downloads (last 30 days) File Size: 1.86 MB File ID: #41686
image thumbnail

DWT - SVD robust and secure watermarking scheme



08 May 2013 (Updated )

Watermarking scheme based on DWT and SVD techniques.

| Watch this File

File Information

This is a methodology of robust and secure watermarking scheme as described in the following paper http://www.ias.ac.in/sadhana/Pdf2012Aug/425.pdf. Besides that the code implements ROC curves and different methods of attacks to justify the robustness of the scheme.

You can also download the source code from github: https://github.com/kirk86/wateramarking

Required Products MATLAB
Image Processing Toolbox
Statistics Toolbox
Fuzzy Logic Toolbox
Wavelet Toolbox
Data Acquisition Toolbox
Signal Processing Toolbox
MATLAB release MATLAB 8.0 (R2012b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (14)
21 May 2014 Chez

@Eshwar Gowda: you're right I will add a readme file once I get some free time. Until then you can read my answer to @ddd hhh: about how the application works. Thanks!

16 Apr 2014 Hatem Almabrouk

hello dear
I want the main program that call all your functions and I want the images that work in this program
thank you

05 Apr 2014 ENTC

Thank you... this is very helpful..
I am getting error in function attacks()
error is as following
??? Input argument "watermarked_images" is undefined. plz help

Error in ==> meanAttack at 4
meanImageAttacked = filter2(h, watermarked_images);

Error in ==> attacks at 20
attack = input('Please insert the name of the attack you wanna try!\n');

Error in ==> dwt_svd4 at 157

05 Apr 2014 ENTC  
21 Feb 2014 Eshwar Gowda

Thank you! This is helpful.
Please include a Readme file along with the code.

14 Nov 2013 Nguyen

thanhk you! this file very helpful.

11 Nov 2013 Chez

@dungke, you can definitely use the functions "de2bi" and "bi2de" instead of "decimalToBinaryVector" and "binaryToDecimalVector" in signature embedding

31 Oct 2013 dungke

Hello Chez,
First of all,i also get the error for "decimalToBinaryVector" and "binaryVectorToDecimal" function.Can i use "de2bi" and "bi2de" instead?

-If no, please help to replace the code in file "signature_embedding.m" on line 66: "bin2decimal(x) = binaryVectorToDecimal(double(binary_coefficients{1, x}));" by "bitset" .

-If yes,i have a problem need your help:
I have executed the code as Part A but the image is not clear it is in the form of blocks.I took a look your code and found: in file watermark_embedding.m, on line 66 : watermarked_image = idwt2(LL_inv, HL, LH, HH_modified, 'haar');
if i changed "LL_inv" to "LL" (I did not use signature_embedding process)then image is ok.
Could you tell me why this is happening?? Please I really need your help...

22 Sep 2013 Chez

@ddd hhh, let me briefly explain what the code does.

Part A:

If you just want to hide a logo "let's say a watermark image" inside another image then simply open "dwt_svd.m" go to line 41: and change the "gaussian_plot = true" to "gaussian_plot = false".

On line 42: change "print_figures = false" to "print_figures = true".

Finally execute the dwt_svd.m from matlab command window and watch the figures.

Part B:

Now if you want to :

1. embed a watermeark logo into some images

2. attack those watermarked images to see the strength of watermarking scheme

3. plot gaussians and roc curves

Then don't make the changes I mentioned in Part A.

Execute (when I say execute I mean run them from matlab command window) "dwt_svd.m" to apply the watermark to the image you want, then execute "attacks.m" and enter in single quotes the name of the attack you want to apply to the watermarked images (e.g. 'mean' or 'median' or 'noise' or 'rotation' or 'shear' or 'crop').

Then a popup window will ask you to indicate the watermark logo you used in the embeding step when you initial applied the watermark to the cover image when you executed the "dwt_svd.m" file.

After the code stops executing you should have images with numeric names from [1-1000] in the following directories:

attacked = in this directory will be stored the watermarked images after the attack has been applied to them

logos = here you'll have the corresponding watermark logos extracted from the attacked images

watermarked_images = here you'll have the images with the watermark applied to them

20 Sep 2013 ddd hhh

I have executed the code but the image is not clear it is in the form of blocks. Can you tell me y this is happening?? Please I really need your help...

17 Sep 2013 ddd hhh

Can I modify the code so that it can accommodate two different watermarks. One watermark will be in the HH band And where can I place the other watermark so that the cover image is not distorted?? Please help!!!

16 Sep 2013 Chez

You're either using an older matlab version than 8 or you don't have the exact toolbox that supports that native matlab function. You're gonna have to replace the function "decimalToBinaryVector" with equivalent "bitset" or "bitget" supposing that your matlab version does include the above functions

16 Sep 2013 ddd hhh

when I run the code the error I get is

Undefined function 'decimalToBinaryVector' for input arguments of type 'double'.

Error in signature_embedding (line 51)
binary_coefficients{p} = decimalToBinaryVector(integer_part(p), 16);

Error in watermark_embedding (line 57)
LL_inv = signature_embedding(LL, signature, print_figures);

Error in dwt_svd (line 71)
[watermarked_image, original_signature] = ...

I am not getting what the problem is. Please help

16 Sep 2013 ddd hhh

The source code that I have downloaded from github is giving error in embedding section.

29 Aug 2013

I have inserted and additional online source such as github from where anyone can download the source code

Contact us