A digital watermark is a kind of mark or image that is embedded in a multimedia carrier and can be used to verify the authenticity or integrity of the owner of multimedia carrier.
This graphical user interface (GUI) based watermarking system requires a login password for authenticity of the user. Without password no one will be able to access the program and the GUI panel closes if a wrong password is entered. Therefore you need the correct password to operate this project.
For watermarking you require two images: one cover image that is to be watermarked and the other a logo or some other watermark image. The cover image to be watermarked may be selected from any of the images or pictures available in the directory using ‘Select the cover image’ button. Similarly, a logo to be embedded in cover image may be selected using ‘Select the logo/watermark’ button.
In order to run the application you need a 32- or 64-bit operating system with MATLAB software, a cover image and a logo/watermark image. Fig. 1 shows the flowchart of watermarking process used in this application. In this project, the GUI panel/program is quite user friendly. That’s why some buttons are disabled at the start of the program and enabled only when user finishes the first operation.
The application program has been developed in MATLAB version R2013a. When the main_file.m file is run, a screen opens up, prompting the user to enter the password (refer Fig. 2). The correct password allows you to access the main GUI panel. But an incorrect password closes the GUI panel/program. The default password is kcet in this case.
The main parts of the GUI panel are described under Table I. Different PSNR and MSE values for the cover image (college.jpg) and logo (logo.jpg) at different bits are listed under Table II.
After selecting the cover image and logo/watermark, you have to give the bit position where the pixel value of logo has to be embedded in cover image. It is ‘1’ for least significant bit (LSB) and ‘8’ for most significant bit (MSB). The watermark image will be generated on pressing ‘Assemble/Embedded watermark’ button. The similarity between cover image and watermarked image is evaluated by calculating the peak signal-to-noise ratio (PSNR) and mean square error (MSE) values. The watermarked image generated with LSB gives better result, with maximum PSNR and minimum MSE.
Steps for testing
1. Launch MATLAB, open and run the file main_file.m program
2. A password window will appear on the screen. Type password kcet
3. The GUI panel will open
4. Select any cover image from your system
5. Then select a logo that you want to embed on the cover image
6. Select the bit position for embedding your logo
7. Press ‘Assemble/Embedded watermark’ button; a watermarked image will appear on the screen
8. Press the button ‘Calculate PSNR & MSE’ to measure these factors between the original and watermarked image
9. By changing the bit position and embedded logo, you will get different PSNR and MSE values
10. The logo may be extracted from the cover image by pressing the button ‘Extract watermark’ (refer Fig. 3)
Download source code: click here
Sanjeev Kumar is assistant professor and head in the department of ECE at Khalsa College of Engineering & Technology and Amandeep Atri is a B.Tech (ECE) from Khalsa College of Engineering & Technology, Amritsar, Punjab