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.