Skip to content

BREBION-Mathis/mic-reveal

Repository files navigation

MIC Reveal

Tooling to reveal printer Machine Identification Code (MIC) yellow dots in scanned images.

This project was initially created for a Root-Me steganography challenge and is now structured as a reusable mini CLI tool.

What Is MIC?

The Machine Identification Code (MIC) is a pattern of tiny yellow dots that some color laser printers add to printed pages. These dots can encode metadata such as printer serial information and print timestamp.

Reference: Wikipedia - Machine Identification Code

Features

  • colored mode: draws bounding boxes around detected yellow dots.
  • highlight mode: keeps only detected yellow areas and darkens everything else.
  • Configurable HSV thresholds for tuning detection.
  • Backward-compatible wrappers for legacy scripts.

Project Structure

  • mic_reveal.py: shared logic + unified CLI.
  • get_mic_colored.py: compatibility wrapper (colored mode).
  • get_mic_highlight.py: compatibility wrapper (highlight mode).

Installation

python -m venv .venv
source .venv/bin/activate
pip install -e .

Usage

Unified CLI (recommended)

mic-reveal colored input.png output_colored.png
mic-reveal highlight input.png output_highlight.png

Optional threshold tuning

mic-reveal colored input.png output.png --lower-hsv 20,100,100 --upper-hsv 40,255,255

Legacy scripts (still supported)

python get_mic_colored.py input.png output_colored.png
python get_mic_highlight.py input.png output_highlight.png

Example Input with the colored feature

Input image

Output

Colored output

About

Reveal printer Machine Identification Code (MIC) yellow dots in scanned documents using OpenCV.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages