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:
3
venv/lib/python3.12/site-packages/cv2/data/__init__.py
Normal file
3
venv/lib/python3.12/site-packages/cv2/data/__init__.py
Normal file
@@ -0,0 +1,3 @@
|
||||
import os
|
||||
|
||||
haarcascades = os.path.join(os.path.dirname(__file__), "")
|
||||
12213
venv/lib/python3.12/site-packages/cv2/data/haarcascade_eye.xml
Normal file
12213
venv/lib/python3.12/site-packages/cv2/data/haarcascade_eye.xml
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
17030
venv/lib/python3.12/site-packages/cv2/data/haarcascade_fullbody.xml
Normal file
17030
venv/lib/python3.12/site-packages/cv2/data/haarcascade_fullbody.xml
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
14056
venv/lib/python3.12/site-packages/cv2/data/haarcascade_lowerbody.xml
Normal file
14056
venv/lib/python3.12/site-packages/cv2/data/haarcascade_lowerbody.xml
Normal file
File diff suppressed because it is too large
Load Diff
29690
venv/lib/python3.12/site-packages/cv2/data/haarcascade_profileface.xml
Normal file
29690
venv/lib/python3.12/site-packages/cv2/data/haarcascade_profileface.xml
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
6729
venv/lib/python3.12/site-packages/cv2/data/haarcascade_smile.xml
Normal file
6729
venv/lib/python3.12/site-packages/cv2/data/haarcascade_smile.xml
Normal file
File diff suppressed because it is too large
Load Diff
28134
venv/lib/python3.12/site-packages/cv2/data/haarcascade_upperbody.xml
Normal file
28134
venv/lib/python3.12/site-packages/cv2/data/haarcascade_upperbody.xml
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user