How tsukiyukiazusaqaq/anti-blindwatermark works
Anti-BlindWatermark is a command-line image-processing tool that modifies image data to disrupt watermark extraction, with pixel, frequency-domain, and low-contrast spatial modes. The main workflow selects a mode, reads an image into a shared NumPy representation, dispatches that image to the chosen transform, and writes the result. PNG uses the built-in codec, while JPEG uses OpenCV. The README documents all three modes; sampled source confirms their dispatch and implementation. The frequency transform’s OpenCV/PyWavelets internals are shown at a useful algorithmic level.
Main entry points: main.py Mode and CLI · blind_watermark_destroy.py Frequency disruption · image_io.py Format dispatcher · low_contrast_spatial_destroy.py Low-contrast cleanup
Components 15
CLI orchestration
- Mode and CLI
main.py - Progress display
progress.py
Image I/O
- Format dispatcher
image_io.py - PNG codec
png_io.py - OpenCV JPEG
image_io.py
Disruption modes
- Pixel perturbation
pixel_destroy.py - Low-contrast cleanup
low_contrast_spatial_destroy.py - Frequency disruption
blind_watermark_destroy.py
Frequency internals
- Color conversion
blind_watermark_destroy.py - Haar DWT
blind_watermark_destroy.py - Block attacks
blind_watermark_destroy.py - SVD targeting
blind_watermark_destroy.py
Other components
- Image user
- OpenCV
- PyWavelets
Connections 20
- Image user → Mode and CLI: chooses mode
- Mode and CLI → Format dispatcher: reads image
- Format dispatcher → PNG codec: PNG read/write
- Format dispatcher → OpenCV JPEG: JPEG read/write
- Mode and CLI → Pixel perturbation: dispatches pixels
- Mode and CLI → Low-contrast cleanup: dispatches spatial
- Mode and CLI → Frequency disruption: dispatches frequency
- Pixel perturbation → Mode and CLI: returns image
- Low-contrast cleanup → OpenCV: median and morphology
- Low-contrast cleanup → Mode and CLI: returns image
- Frequency disruption → Color conversion: converts color
- Frequency disruption → Haar DWT: transforms channels
- Frequency disruption → Block attacks: attacks low-frequency blocks
- Block attacks → SVD targeting: targets singular values
- Frequency disruption → OpenCV: DCT and alignment
- Frequency disruption → PyWavelets: DWT and inverse
- Frequency disruption → Mode and CLI: returns image
- Mode and CLI → Format dispatcher: writes result
- Mode and CLI → Progress display: updates status
- Image user → Mode and CLI: receives output