Overview
ImageAnalyzer completes the trio of media analyzers for still images. It follows the same architecture as AudioAnalyzer and VideoAnalyzer — wrap a real, current, battle-tested external tool and verify its output live — using ImageMagick for pixel work and Tesseract for OCR, extended by an ML layer for vision tasks.
Capabilities
Probing & integrity
- Dimensions, format, colour space, bit depth, DPI, JPEG quality estimate, frame count (animated GIF, multi-page TIFF)
- EXIF metadata extraction
- SHA-256 checksums with
sha256sum-compatible sidecar files
Duplicate detection
- 64-bit perceptual hash (aHash) with Hamming-distance comparison for near-duplicates
- CLIP embeddings for semantic near-duplicate search — finds the same motif even after cropping, recolouring or re-encoding
Text in images
- OCR text extraction with confidence scores
- Burned-in text region detection
- Automatic OCR language detection
Vision ML
- Face detection
- No-reference image quality scoring — flag soft, noisy or low-quality stills automatically
- Zero-shot text-to-image search and zero-shot classification against a controlled vocabulary
Engineering highlights
- Small, stable algorithms kept as independent copies instead of coupling three repositories' release cadence
- Documented, reproducible setup of ImageMagick and Tesseract on a fresh Windows machine
- Routed JSON output under the shared persistence contract, so image results land in the same database tables as audio and video results
- Unit and live tests against bundled sample images