Skip to main content

Crate blind_watermark

Crate blind_watermark 

Source
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 faer crate for efficient matrix computations and rayon for multi-threading support.
  • Flexible: Supports embedding arbitrary binary data (e.g. Vec<u8>). String watermarking is natively supported.

Modules§

config
prelude
strategy
transform
utils

Structs§

AssembledYCrBrAMat
Image data assembled back from blocks and subbands.
Block
A single block of the image (typically 4x4).
BlockCutted
Image data with the LL subband divided into blocks.
DwtedYCrBrAMat
Image data after Discrete Wavelet Transform (DWT).
Imbedded
Image data with watermark embedded in the blocks.
PaddedYCrBrAMat
Padded matrix representation of an image in YCbCrA color space.
YCrBrAMat
Matrix representation of an image in YCbCrA color space.