fix(effi-ocr): improve preprocessing for dark/shadowy document areas
- Add median filter to reduce noise - Increase contrast from x2 to x2.5 - Add brightness enhancement x1.2
This commit is contained in:
+12
-3
@@ -86,12 +86,21 @@ async def ocr_image(
|
|||||||
|
|
||||||
# Prétraitement optionnel pour améliorer la qualité OCR
|
# Prétraitement optionnel pour améliorer la qualité OCR
|
||||||
if preprocess:
|
if preprocess:
|
||||||
# Convertir en niveaux de gris pour meilleure détection texte
|
# Convertir en niveaux de gris
|
||||||
image = image.convert('L')
|
image = image.convert('L')
|
||||||
# Augmenter le contraste
|
|
||||||
|
# Appliquer un filtrage pour réduire le bruit
|
||||||
|
from PIL import ImageFilter
|
||||||
|
image = image.filter(ImageFilter.MedianFilter(size=3))
|
||||||
|
|
||||||
|
# Augmenter le contraste (x2.5 au lieu de x2)
|
||||||
from PIL import ImageEnhance
|
from PIL import ImageEnhance
|
||||||
enhancer = ImageEnhance.Contrast(image)
|
enhancer = ImageEnhance.Contrast(image)
|
||||||
image = enhancer.enhance(2.0)
|
image = enhancer.enhance(2.5)
|
||||||
|
|
||||||
|
# Éclaircir l'image avec Brightness (x1.2)
|
||||||
|
enhancer = ImageEnhance.Brightness(image)
|
||||||
|
image = enhancer.enhance(1.2)
|
||||||
|
|
||||||
# OCR avec Tesseract
|
# OCR avec Tesseract
|
||||||
text = pytesseract.image_to_string(image, lang=lang)
|
text = pytesseract.image_to_string(image, lang=lang)
|
||||||
|
|||||||
Reference in New Issue
Block a user