feat(phase1): implement OpenCV image processing pipeline

- Create ImageProcessor service with EXIF orientation detection
- Implement smart cropping via OpenCV contour detection (10% padding)
- Add text orientation detection using Hough line transform
- Resize and compress images to 1200px with 85% JPEG quality
- Generate 200px square thumbnails with center crop
- Fallback to Pillow if OpenCV fails
- Comprehensive test suite: 28 tests all passing
- File size validation (reject >10MB)
- Graceful error handling for corrupted/invalid images
- Update requirements.txt with opencv-python, piexif, python-magic
This commit is contained in:
2026-04-20 22:17:11 +03:00
parent 01321bf607
commit 3aafacab12
1068 changed files with 720366 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
__all__: list[str] = []
# Enumerations
TYPE_GENERAL: int
TYPE_MARKER: int
TYPE_WRAPPER: int
TYPE_FUN: int
TYPE = int
"""One of [TYPE_GENERAL, TYPE_MARKER, TYPE_WRAPPER, TYPE_FUN]"""
IMPL_PLAIN: int
IMPL_IPP: int
IMPL_OPENCL: int
IMPL = int
"""One of [IMPL_PLAIN, IMPL_IPP, IMPL_OPENCL]"""
FLAGS_NONE: int
FLAGS_MAPPING: int
FLAGS_EXPAND_SAME_NAMES: int
FLAGS = int
"""One of [FLAGS_NONE, FLAGS_MAPPING, FLAGS_EXPAND_SAME_NAMES]"""