Skip to content

Robustness of DWT vs DCT is graded based on the quality of extracted watermark. The measure used is the Correlation coefficient (0-100%).

License

Notifications You must be signed in to change notification settings

etfovac/watermark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1e9ae88 · Jan 4, 2024

History

64 Commits
Aug 4, 2020
Aug 9, 2021
Aug 12, 2020
Aug 9, 2021
Aug 12, 2020
Aug 2, 2020
Dec 4, 2023
Dec 5, 2023
Jan 4, 2024
Aug 18, 2020
Aug 27, 2021
Aug 9, 2021
Nov 24, 2023
Nov 24, 2023
Nov 24, 2023
Nov 24, 2023
Aug 27, 2021
Aug 27, 2021
Aug 27, 2021
Aug 27, 2021
Nov 24, 2023
Nov 24, 2023
Aug 14, 2020
Aug 12, 2020
Aug 12, 2020
Aug 12, 2020
Aug 12, 2020

Repository files navigation

DWM

View Digital Watermarking – Comparison of DCT and DWT methods on File Exchange License: MIT GitHub (pre-)release DOI

Keywords:

DWM, Digital Watermarking, Digital Watermark

DWT, Discrete Wavelet Transform

DCT, Discrete Cosine Transform

Digital Image processing

Table of Contents (Wiki)

Wiki Home
Overview
Notes
Examples
References

Basic Overview

Digital Watermarking (DWM) is a technique of protecting digital data. This code base implements 2 methods for marking digital images based on Discrete Cosine Transform (DCT) and Discrete Wavelet Transform (DWT).
Several attacks (signal degradations such as noise, dithering, filtering, cropping, lossy JPEG compression) on marked image were conducted. Attacked images are saved and the watermark is extracted.
Robustness of DWT vs DCT is graded based on the quality of extracted watermark. The measure used is the Correlation coefficient (0-100% or 0-1).

Flowchart

Flowchart

Discrete Wavelet Transform Breakdown

DWT_Breakdown DWT_Breakdown0
DWT_Breakdown1 DWT_Breakdown2

Using the App

See Main.mlx example file for simple Image Watermarking Procedure to control the program flow. It does not contain popup windows for selections, instead it has drop down selections.
Procedure steps are separated by sections that match the steps of the main menu in Main.m.
Also, hardcoded input variables from Main.m are clearly marked in Main.mlx as numeric sliders.

Main >> MethodSelection >> AttackSelection

Example Log

Case: No watermark, no attak, no detection

Not marked. Watermark method: None.
Attack: None
C:\Users\dzoni\Documents\GitHub\watermark\output\marked\Marked_image_None.tif
Not detected. Watermark method: None.

 Correlation Coefficient of the watermarks   NaN
 Normalized Correlation of the watermarks   0.000000
 Correlation Coefficient of the images   1.000000
 Normalized Correlation of the images   1.000000  

 Num of bit errors in detected watermark 2635   
 BER [%] for detected watermark 64.331055  
*******************************************************

Case: Watermarked, no attak, detection comparison

Method: DCT
Attack: None
C:\Users\dzoni\Documents\GitHub\watermark\output\marked\Marked_image_DCT.tif

 Correlation Coefficient of the watermarks   0.995758
 Normalized Correlation of the watermarks   0.996964
 Correlation Coefficient of the images   0.999543
 Normalized Correlation of the images   0.999996  

 Num of bit errors in detected watermark 8   
 BER [%] for detected watermark 0.195313  
*******************************************************
Method: DWT
Attack: None
C:\Users\dzoni\Documents\GitHub\watermark\output\marked\Marked_image_DWT.tif

 Correlation Coefficient of the watermarks   1.000000
 Normalized Correlation of the watermarks   1.000000
 Correlation Coefficient of the images   0.998351
 Normalized Correlation of the images   1.000107  

 Num of bit errors in detected watermark 0   
 BER [%] for detected watermark 0.000000  
*******************************************************

References:

Nikola Jovanovic on ResearchGate
Digital Watermarking – Comparison of DCT and DWT methods, ResearchGate
Digital Watermarking in Wavelet domain – Comparison of different types of wavelets, ResearchGate

Download

Download the latest release here.