La reconnaissance optique de caractères (OCR) transforme les images de texte (scans, photos de smartphone, PDF) en chaînes de caractères lisibles par machine et, de plus en plus, en données structurées. L'OCR moderne est un pipeline qui nettoie une image, trouve du texte, le lit et exporte des métadonnées riches afin que les systèmes en aval puissent rechercher, indexer ou extraire des champs. Deux normes de sortie largement utilisées sont hOCR, un microformat HTML pour le texte et la mise en page, et ALTO XML, un schéma orienté bibliothèque/archives ; tous deux préservent les positions, l'ordre de lecture et d'autres indices de mise en page et sont pris en charge par des moteurs populaires comme Tesseract.
Prétraitement. La qualité de l'OCR commence par le nettoyage de l'image : conversion en niveaux de gris, débruitage, seuillage (binarisation) et redressement. Les tutoriels canoniques d'OpenCV couvrent le seuillage global, adaptatif et d'Otsu — des incontournables pour les documents avec un éclairage non uniforme ou des histogrammes bimodaux. Lorsque l'éclairage varie au sein d'une page (pensez aux photos de téléphone), les méthodes adaptatives surpassent souvent un seuil global unique ; Otsu choisit automatiquement un seuil en analysant l'histogramme. La correction de l'inclinaison est tout aussi importante : le redressement basé sur Hough (Transformée de Hough) associé à la binarisation d'Otsu est une recette courante et efficace dans les pipelines de prétraitement de production.
Détection vs. reconnaissance. L'OCR est généralement divisé en détection de texte (où se trouve le texte ?) et reconnaissance de texte (que dit-il ?). Dans les scènes naturelles et de nombreux scans, les détecteurs entièrement convolutifs comme EAST prédisent efficacement des quadrilatères au niveau du mot ou de la ligne sans étapes de proposition lourdes et sont implémentés dans des boîtes à outils courantes (par exemple, le tutoriel de détection de texte d'OpenCV). Sur les pages complexes (journaux, formulaires, livres), la segmentation des lignes/régions et l'inférence de l'ordre de lecture sont importantes :Kraken implémente la segmentation traditionnelle de zones/lignes et la segmentation neuronale de ligne de base, avec un support explicite pour différents scripts et directions (LTR/RTL/vertical).
Modèles de reconnaissance. Le classique cheval de bataille open-source Tesseract (open-sourcé par Google, avec des racines chez HP) a évolué d'un classifieur de caractères en un reconnaisseur de séquence basé sur LSTM et peut émettre des PDF consultables, des sorties compatibles hOCR/ALTO, et plus encore depuis la CLI. Les reconnaisseurs modernes s'appuient sur la modélisation de séquence sans caractères pré-segmentés. La classification temporelle connexionniste (CTC) reste fondamentale, apprenant les alignements entre les séquences de caractéristiques d'entrée et les chaînes d'étiquettes de sortie ; elle est largement utilisée dans les pipelines d'écriture manuscrite et de texte de scène.
Ces dernières années, les Transformers ont remodelé l'OCR. TrOCR utilise un encodeur Vision Transformer plus un décodeur Text Transformer, entraîné sur de grands corpus synthétiques puis affiné sur des données réelles, avec de solides performances sur les benchmarks de texte imprimé, manuscrit et de scène (voir aussi la documentation de Hugging Face). En parallèle, certains systèmes contournent l'OCR pour la compréhension en aval : Donut (Document Understanding Transformer) est un encodeur-décodeur sans OCR qui produit directement des réponses structurées (comme du JSON clé-valeur) à partir d'images de documents (repo, carte de modèle), évitant l'accumulation d'erreurs lorsqu'une étape OCR distincte alimente un système d'IE.
Si vous voulez une lecture de texte clés en main sur de nombreux scripts, EasyOCR offre une API simple avec plus de 80 modèles linguistiques, renvoyant des boîtes, du texte et des confiances — pratique pour les prototypes et les scripts non latins. Pour les documents historiques, Kraken brille par sa segmentation de ligne de base et son ordre de lecture sensible au script ; pour un entraînement flexible au niveau de la ligne, Calamari s'appuie sur la lignée d'Ocropy (Ocropy) avec des reconnaisseurs (multi-)LSTM+CTC et une CLI pour affiner des modèles personnalisés.
La généralisation dépend des données. Pour l'écriture manuscrite, la base de données d'écriture manuscrite IAM fournit des phrases en anglais de divers scripteurs pour l'entraînement et l'évaluation ; c'est un ensemble de référence de longue date pour la reconnaissance de lignes et de mots. Pour le texte de scène, COCO-Text a superposé des annotations étendues sur MS-COCO, avec des étiquettes pour l'imprimé/manuscrit, lisible/illisible, le script et les transcriptions complètes (voir aussi la page originale du projet). Le domaine s'appuie également fortement sur le pré-entraînement synthétique : SynthText in the Wild rend le texte dans des photographies avec une géométrie et un éclairage réalistes, fournissant d'énormes volumes de données pour pré-entraîner les détecteurs et les reconnaisseurs (référence code et données).
Les compétitions sous l'égide de la lecture robuste d'ICDAR maintiennent l'évaluation sur le terrain. Les tâches récentes mettent l'accent sur la détection/lecture de bout en bout et incluent la liaison de mots en phrases, avec le code officiel rapportant précision/rappel/F-score, l'intersection sur l'union (IoU) et les métriques de distance d'édition au niveau du caractère — reflétant ce que les praticiens devraient suivre.
L'OCR se termine rarement par du texte brut. Les archives et les bibliothèques numériques préfèrent ALTO XML car il encode la mise en page physique (blocs/lignes/mots avec coordonnées) ainsi que le contenu, et il se marie bien avec l'empaquetage METS. Le microformat hOCR , en revanche, intègre la même idée dans HTML/CSS en utilisant des classes comme ocr_line et ocrx_word, ce qui facilite l'affichage, la modification et la transformation avec des outils web. Tesseract expose les deux — par exemple, en générant du hOCR ou des PDF consultables directement depuis la CLI (guide de sortie PDF) ; les wrappers Python comme pytesseract ajoutent de la commodité. Il existe des convertisseurs pour traduire entre hOCR et ALTO lorsque les dépôts ont des normes d'ingestion fixes — voir cette liste organisée d' outils de format de fichier OCR.
La tendance la plus forte est la convergence : la détection, la reconnaissance, la modélisation du langage et même le décodage spécifique à la tâche fusionnent dans des piles de Transformers unifiées. Le pré-entraînement sur de grands corpus synthétiques reste un multiplicateur de force. Les modèles sans OCR seront en concurrence agressive partout où la cible est des sorties structurées plutôt que des transcriptions littérales. Attendez-vous également à des déploiements hybrides : un détecteur léger plus un reconnaisseur de style TrOCR pour le texte long, et un modèle de style Donut pour les formulaires et les reçus.
Tesseract (GitHub) · Documentation de Tesseract · Spécification hOCR · Contexte ALTO · Détecteur EAST · Détection de texte OpenCV · TrOCR · Donut · COCO-Text · SynthText · Kraken · Calamari OCR · ICDAR RRC · pytesseract · Écriture manuscrite IAM · Outils de format de fichier OCR · EasyOCR
La reconnaissance optique de caractères (OCR) est une technologie utilisée pour convertir différents types de documents, tels que des documents papier numérisés, des fichiers PDF ou des images capturées par un appareil photo numérique, en données modifiables et recherchables.
L'OCR fonctionne en numérisant une image ou un document d'entrée, en segmentant l'image en caractères individuels, et en comparant chaque caractère avec une base de données de formes de caractères en utilisant la reconnaissance de formes ou la reconnaissance de caractéristiques.
L'OCR est utilisé dans une variété de secteurs et d'applications, y compris la numérisation de documents imprimés, l'activation des services de texte en parole, l'automatisation des processus de saisie de données, et l'aide aux utilisateurs malvoyants pour mieux interagir avec le texte.
Bien que des progrès importants aient été faits dans la technologie OCR, elle n'est pas infaillible. La précision peut varier en fonction de la qualité du document original et des spécificités du logiciel OCR utilisé.
Bien que l'OCR soit principalement conçu pour le texte imprimé, certains systèmes OCR avancés sont également capables de reconnaître une écriture manuelle claire et cohérente. Cependant, la reconnaissance de l'écriture manuelle est généralement moins précise en raison de la grande variation des styles d'écriture individuels.
Oui, de nombreux systèmes logiciels OCR peuvent reconnaître plusieurs langues. Cependant, il est important de s'assurer que la langue spécifique est prise en charge par le logiciel que vous utilisez.
OCR signifie Optical Character Recognition et est utilisé pour reconnaître le texte imprimé, tandis que ICR, ou Intelligent Character Recognition, est plus avancé et est utilisé pour reconnaître le texte écrit à la main.
L'OCR fonctionne mieux avec des polices claires et faciles à lire et des tailles de texte standard. Bien qu'il puisse fonctionner avec différentes polices et tailles, la précision a tendance à diminuer lorsqu'on traite des polices inhabituelles ou des tailles de texte très petites.
L'OCR peut avoir du mal avec les documents de faible résolution, les polices complexes, les textes mal imprimés, l'écriture manuelle, et les documents avec des arrière-plans qui interfèrent avec le texte. De plus, bien qu'il puisse fonctionner avec de nombreuses langues, il ne couvre peut-être pas parfaitement toutes les langues.
Oui, l'OCR peut numériser du texte en couleur et des arrière-plans en couleur, bien qu'il soit généralement plus efficace avec des combinaisons de couleurs à contraste élevé, comme le texte noir sur un fond blanc. La précision peut diminuer lorsque les couleurs du texte et de l'arrière-plan manquent de contraste suffisant.
Le format d'image Run-length encoding (RLE) est une forme simple de compression de données qui peut être particulièrement efficace pour les images contenant de grandes zones de couleur uniforme. Cette technique réduit la taille des données d'image en stockant un nombre de pixels consécutifs partageant la même valeur, plutôt que de stocker les valeurs de pixels réelles individuellement. L'efficacité de la compression RLE dépend en grande partie du contenu de l'image ; les images moins complexes et présentant moins de transitions de couleurs peuvent être compressées plus efficacement à l'aide de RLE.
La compression RLE peut être décrite en deux composants principaux : la valeur de course et la longueur de course. La « valeur de course » est la valeur de données réelle d'une séquence de pixels (par exemple, une couleur spécifique), tandis que la « longueur de course » fait référence au nombre de pixels consécutifs ayant cette valeur. Dans un fichier image compressé RLE, ces paires de longueurs de course et de valeurs de course remplacent la séquence originale de valeurs de pixels. Cette méthode peut réduire considérablement la taille du fichier pour les images comportant de nombreuses valeurs répétées, telles que les icônes, les dessins au trait et les animations.
L'implémentation de RLE dans un logiciel implique d'itérer sur les données de pixels d'une image, en comparant chaque pixel au suivant. Si deux pixels adjacents sont identiques, la longueur de course est incrémentée. Lorsqu'un pixel est trouvé qui ne correspond pas à la course actuelle, la longueur et la valeur de la course actuelle sont stockées, et une nouvelle course est démarrée avec la nouvelle valeur de pixel. Ce processus se poursuit jusqu'à ce que tous les pixels aient été traités. La décompression inverse ce processus, en lisant les longueurs et les valeurs de course et en reproduisant la séquence originale de valeurs de pixels.
La simplicité de l'algorithme RLE le rend rapide pour la compression et la décompression. Cependant, cette simplicité signifie également qu'il n'est pas toujours la méthode de compression la plus efficace pour tous les types d'images. Par exemple, les photographies avec de subtiles dégradés de couleurs peuvent en fait prendre plus de place lorsqu'elles sont compressées avec RLE en raison de la surcharge de stockage des longueurs et des valeurs de course pour de courtes séries de pixels. Par conséquent, RLE est mieux adapté aux images avec de grandes zones uniformes de couleur.
Il existe plusieurs variantes de l'algorithme RLE de base qui peuvent améliorer son efficacité dans certains scénarios. L'une de ces variantes consiste à utiliser un schéma d'encodage différent pour les courses de différentes longueurs. Pour les courses plus courtes, un encodage direct qui répertorie simplement les valeurs de pixels peut être utilisé, tandis que les courses plus longues utilisent toujours l'encodage de longueur de course. Cette approche hybride peut aider à réduire la surcharge pour les images qui ne se compressent pas bien avec une approche RLE simple.
Une autre considération importante dans la compression RLE est la gestion des cas limites, tels que la fin d'une ligne d'image. Dans certaines implémentations, chaque ligne de pixels est compressée indépendamment pour empêcher une course de s'étendre sur plusieurs lignes, ce qui pourrait entraîner une décompression incorrecte. Cette approche garantit que la géométrie de l'image est préservée, mais elle peut également introduire une complexité supplémentaire dans les algorithmes de compression et de décompression.
La compression RLE peut également être appliquée aux formats d'image qui prennent en charge plusieurs canaux, tels que RVB ou RVBA (où A représente l'alpha, représentant la transparence). Dans de tels cas, l'algorithme RLE doit être adapté pour gérer les valeurs multiples associées à chaque pixel. Cela peut être fait soit en compressant chaque canal séparément, soit en traitant chaque combinaison de valeurs de canal comme une valeur unique aux fins de l'algorithme RLE. La première méthode peut conduire à de meilleurs taux de compression pour les images où les canaux de couleur ont de grandes zones de valeurs uniformes.
La structure de données encodée d'une image compressée RLE commence souvent par un en-tête qui inclut les informations nécessaires à la décompression, telles que les dimensions de l'image et la méthode d'encodage utilisée. Après l'en-tête, les données compressées sont stockées sous forme d'une séquence de paires longueur de course/valeur. Le format spécifique de ces paires peut varier en fonction de l'implémentation, mais elles consistent généralement en un octet de longueur suivi d'un ou plusieurs octets de valeur représentant les couleurs du ou des pixels.
En plus du schéma RLE de base, certaines implémentations introduisent des marqueurs ou des indicateurs pour indiquer des cas spéciaux, tels que des courses d'un seul pixel ou la fin des données d'image. Ces marqueurs peuvent aider à optimiser le processus de compression en réduisant le nombre d'octets nécessaires pour représenter des motifs courants ou répétitifs. Cependant, l'introduction de tels marqueurs nécessite une conception soignée pour éviter les ambiguïtés dans les données compressées, garantissant que l'algorithme de décompression peut reconstruire avec précision l'image d'origine.
En raison de sa simplicité et de son efficacité dans certains cas d'utilisation, RLE a été largement utilisé dans divers systèmes et applications informatiques. Il est particulièrement bien adapté aux systèmes avec une puissance de traitement ou une capacité de stockage limitée, tels que les systèmes embarqués. De plus, comme l'algorithme RLE est relativement facile à implémenter, il a été adopté dans de nombreux formats de fichiers graphiques et utilitaires logiciels pour une compression et une décompression de données simples et rapides.
Malgré ses avantages, l'efficacité de la compression RLE est très variable et dépend des caractéristiques spécifiques de l'image à compresser. Pour les images complexes avec des niveaux élevés de détails et de variabilité de couleur, RLE est susceptible d'être moins efficace, ce qui peut entraîner des fichiers compressés plus volumineux que l'original. D'un autre côté, pour les images simples avec de grandes zones uniformes, RLE peut réduire considérablement la taille des fichiers, ce qui en fait un outil utile dans l'arsenal des techniques de compression d'image.
Les considérations de sécurité dans RLE impliquent de garantir l'intégrité et l'authenticité des données compressées. Comme tout format de fichier, les fichiers RLE peuvent être altérés ou corrompus, ce qui peut entraîner des erreurs lors de la décompression ou l'exécution de code non intentionnel. Pour atténuer ces risques, les applications qui traitent des images compressées RLE doivent implémenter des contrôles pour valider la cohérence des données, comme vérifier que les données décompressées correspondent aux dimensions attendues et ne dépassent pas les limites de la mémoire tampon.
En conclusion, bien que RLE soit une méthode de compression de données relativement simple et parfois négligée, son adéquation à des types d'images spécifiques en fait une option importante dans le domaine du traitement d'images numériques. Sa facilité d'implémentation et ses vitesses de compression et de décompression rapides peuvent offrir des avantages significatifs pour les cas d'utilisation applicables. Cependant, son efficacité varie en fonction de la nature du contenu de l'image, ce qui oblige les développeurs à comprendre ses meilleures applications et ses limites. Comme pour toute technologie, une application réfléchie et la prise en compte de méthodes alternatives sont essentielles pour obtenir les meilleurs résultats.
Ce convertisseur fonctionne entièrement dans votre navigateur. Lorsque vous sélectionnez un fichier, il est lu en mémoire et converti dans le format sélectionné. Vous pouvez ensuite télécharger le fichier converti.
Les conversions commencent instantanément, et la plupart des fichiers sont convertis en moins d'une seconde. Les fichiers plus volumineux peuvent prendre plus de temps.
Vos fichiers ne sont jamais téléversés vers nos serveurs. Ils sont convertis dans votre navigateur, puis le fichier converti est téléchargé. Nous ne voyons jamais vos fichiers.
Nous prenons en charge la conversion entre tous les formats d'image, y compris JPEG, PNG, GIF, WebP, SVG, BMP, TIFF, et plus encore.
Ce convertisseur est complètement gratuit, et le restera toujours. Parce qu'il fonctionne dans votre navigateur, nous n'avons pas besoin de payer pour des serveurs, donc nous n'avons pas besoin de vous faire payer.
Oui ! Vous pouvez convertir autant de fichiers que vous voulez simultanément. Il suffit de sélectionner plusieurs fichiers lorsque vous les ajoutez.