SkillAgentSearch skills...

HiddenWatermark

Embeds a hidden watermark in an image using a blind DWT-DCT approach

Install / Use

/learn @mchall/HiddenWatermark
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Hidden Watermark

Embeds a hidden watermark in an image using a blind DWT-DCT approach. Unlike steganographic methods, this hidden watermark is resistant to various forms of attack. Limited to a black and white 32x32 watermark image.

Original Image + Watermark = Watermarked Image

Original + Watermark = Embedded Image

Image source: http://commons.wikimedia.org/wiki/Garden#/media/File:Rikugien3.jpg

Usage

The following code instantiates the default watermark class with the default watermark image. Then the watermark is embedded in a file, and the watermark is retrieved afterwards.

var fileBytes = File.ReadAllBytes(imageLocation);
var newFileBytes = Watermark.Default.EmbedWatermark(fileBytes);

var result = Watermark.Default.RetrieveWatermark(newFileBytes);

The following code instantiates the watermark class with the bytes read from a 32x32 watermark image and turns crop support on. Then the watermark is embedded in a file and simultaneously checked if an embedded watermark already exists.

var watermarkBytes = File.ReadAllBytes(watermarkLocation);
Watermark watermark = new Watermark(watermarkBytes);

var fileBytes = File.ReadAllBytes(imageLocation);
var result = watermark.RetrieveAndEmbedWatermark(fileBytes);

Watermark recovery results

Attack | Recovered Watermark ------------ | ------------- No Attack | 1 Blur | 2 Flip Horizontal | 3 Resize (1024x768->360x270) | 4 Visible Watermarking | 5 Crop | 6 JPEG Quality 20% | 7 Grayscale | 8 (not resistant) PrintScreen | 9 Noise | 10

Acknowledgements

Accord.NET: http://accord-framework.net/

View on GitHub
GitHub Stars347
CategoryDevelopment
Updated1mo ago
Forks57

Languages

C#

Security Score

95/100

Audited on Feb 17, 2026

No findings