Expand description
§Blind Watermark
A Rust library for blind image watermarking using DWT (Discrete Wavelet Transform), DCT (Discrete Cosine Transform), and SVD (Singular Value Decomposition). The algorithm is originally implemented in python by Guo Fei at this repository. This is the rust rewritten version.
§Features
- Blind Watermarking: Extract the watermark without needing the original image.
- Robust Algorithm: Combines DWT, DCT, and SVD for embedding watermarks in the frequency domain.
- High Performance: Developed in Rust, leveraging the
faercrate for efficient matrix computations andrayonfor multi-threading support. - Flexible: Supports embedding arbitrary binary data (e.g.
Vec<u8>). String watermarking is natively supported.
Modules§
Structs§
- AssembledY
CrBrA Mat - Image data assembled back from blocks and subbands.
- Block
- A single block of the image (typically 4x4).
- Block
Cutted - Image data with the LL subband divided into blocks.
- DwtedY
CrBrA Mat - Image data after Discrete Wavelet Transform (DWT).
- Imbedded
- Image data with watermark embedded in the blocks.
- PaddedY
CrBrA Mat - Padded matrix representation of an image in YCbCrA color space.
- YCrBrA
Mat - Matrix representation of an image in YCbCrA color space.