Détection de Texte et OCR
Fonctions :
-
Détection de Texte et OCR (exemple)
Cette méthode utilise la bibliothèque OpenCV combinée à Tesseract OCR pour détecter et extraire du texte à partir d’images. OpenCV sert à prétraiter l’image et détecter les zones contenant du texte, tandis que Tesseract effectue la reconnaissance optique des caractères (OCR) pour extraire le texte.
Attributs :
Paramètre Type Description Valeur par défaut image_path
str Chemin vers l’image à analyser. — lang
str Langue utilisée pour l’OCR. eng
config
str Paramètres supplémentaires pour Tesseract. --psm 6
Exemple de code :
import cv2 import pytesseract # Chargement de l'image image = cv2.imread('image_texte.jpg') # Conversion en niveaux de gris gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # Seuillage adaptatif pour améliorer le contraste thresh = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2) # Extraction du texte avec Tesseract OCR texte = pytesseract.image_to_string(thresh, lang='eng', config='--psm 6') print(texte)
Explication du code :
1. Importation des bibliothèques
- `pytesseract` : bibliothèque d'OCR (reconnaissance optique de caractères) basée sur Tesseract. - `cv2` (OpenCV) : traitement d’image. - `matplotlib.pyplot` : visualisation de l’image. - `urllib.request` : téléchargement de fichiers via une URL. - `numpy` : traitement de tableaux de pixels.2. Téléchargement d’une image contenant du texte
- Utilisation de `urllib.request.urlopen` pour télécharger une image test depuis GitHub. - Conversion du contenu téléchargé en tableau de pixels avec NumPy. - Décodage de l’image au format couleur avec OpenCV (`cv2.imdecode`).3. Conversion en niveaux de gris
- Utilisation de `cv2.cvtColor` pour convertir l’image RGB en niveaux de gris, ce qui facilite l’OCR.4. Application de l’OCR avec Tesseract
- Extraction automatique du texte contenu dans l’image avec `pytesseract.image_to_string`.5. Affichage de l’image
- Visualisation de l’image originale à l’aide de `matplotlib.pyplot`. - Conversion BGR → RGB (car OpenCV utilise BGR par défaut) pour un affichage correct. - Suppression des axes pour une présentation plus propre.6. Affichage du texte détecté
- Affichage en console du texte détecté par l’OCR sous forme brute.