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 JPEG (Joint Photographic Experts Group), communément appelé JPG, est une méthode largement utilisée de compression avec perte pour les images numériques, en particulier pour les images produites par la photographie numérique. Le degré de compression peut être ajusté, permettant un compromis sélectionnable entre la taille de stockage et la qualité de l'image. JPEG atteint généralement une compression de 10:1 avec une perte de qualité d'image peu perceptible.
La compression JPEG est utilisée dans un certain nombre de formats de fichiers image. JPEG/Exif est le format d'image le plus courant utilisé par les appareils photo numériques et autres dispositifs de capture d'images photographiques ; avec JPEG/JFIF, c'est le format le plus courant pour stocker et transmettre des images photographiques sur le World Wide Web. Ces variations de format ne sont souvent pas distinguées et sont simplement appelées JPEG.
Le format JPEG comprend une variété de normes, notamment JPEG/Exif, JPEG/JFIF et JPEG 2000, qui est une norme plus récente qui offre une meilleure efficacité de compression avec une complexité de calcul plus élevée. La norme JPEG est complexe, avec diverses parties et profils, mais la norme JPEG la plus couramment utilisée est la ligne de base JPEG, qui est ce à quoi la plupart des gens font référence lorsqu'ils mentionnent les images « JPEG ».
L'algorithme de compression JPEG est à la base une technique de compression basée sur la transformée en cosinus discrète (DCT). La DCT est une transformée liée à Fourier similaire à la transformée de Fourier discrète (DFT), mais utilisant uniquement des fonctions cosinus. La DCT est utilisée parce qu'elle a la propriété de concentrer la majeure partie du signal dans la région de basse fréquence du spectre, ce qui correspond bien aux propriétés des images naturelles.
Le processus de compression JPEG implique plusieurs étapes. Initialement, l'image est convertie de son espace colorimétrique d'origine (généralement RVB) vers un espace colorimétrique différent appelé YCbCr. L'espace colorimétrique YCbCr sépare l'image en une composante de luminance (Y), qui représente les niveaux de luminosité, et deux composantes de chrominance (Cb et Cr), qui représentent les informations de couleur. Cette séparation est bénéfique car l'œil humain est plus sensible aux variations de luminosité qu'à la couleur, permettant une compression plus agressive des composantes de chrominance sans affecter de manière significative la qualité de l'image perçue.
Après la conversion de l'espace colorimétrique, l'image est divisée en blocs, généralement de 8x8 pixels. Chaque bloc est ensuite traité séparément. Pour chaque bloc, la DCT est appliquée, ce qui transforme les données du domaine spatial en données du domaine fréquentiel. Cette étape est cruciale car elle rend les données d'image plus faciles à compresser, car les images naturelles ont tendance à avoir des composantes basse fréquence plus importantes que les composantes haute fréquence.
Une fois la DCT appliquée, les coefficients résultants sont quantifiés. La quantification est le processus de mappage d'un grand ensemble de valeurs d'entrée vers un ensemble plus petit, réduisant ainsi efficacement le nombre de bits nécessaires pour les stocker. C'est la principale source de perte dans la compression JPEG. L'étape de quantification est contrôlée par une table de quantification, qui détermine la quantité de compression appliquée à chaque coefficient DCT. En ajustant la table de quantification, les utilisateurs peuvent faire un compromis entre la qualité de l'image et la taille du fichier.
Après la quantification, les coefficients sont linéarisés par balayage en zigzag, qui les ordonne par fréquence croissante. Cette étape est importante car elle regroupe les coefficients basse fréquence qui sont plus susceptibles d'être significatifs et les coefficients haute fréquence qui sont plus susceptibles d'être nuls ou proches de zéro après quantification. Cet ordre facilite l'étape suivante, qui est le codage entropique.
Le codage entropique est une méthode de compression sans perte qui est appliquée aux coefficients DCT quantifiés. La forme la plus courante de codage entropique utilisée dans JPEG est le codage de Huffman, bien que le codage arithmétique soit également pris en charge par la norme. Le codage de Huffman fonctionne en attribuant des codes plus courts aux éléments plus fréquents et des codes plus longs aux éléments moins fréquents. Étant donné que les images naturelles ont tendance à avoir de nombreux coefficients nuls ou proches de zéro après quantification, en particulier dans la région haute fréquence, le codage de Huffman peut réduire considérablement la taille des données compressées.
La dernière étape du processus de compression JPEG consiste à stocker les données compressées dans un format de fichier. Le format le plus courant est le JPEG File Interchange Format (JFIF), qui définit comment représenter les données compressées et les métadonnées associées, telles que les tables de quantification et les tables de codes de Huffman, dans un fichier pouvant être décodé par une large gamme de logiciels. Un autre format courant est le format de fichier d'image échangeable (Exif), qui est utilisé par les appareils photo numériques et comprend des métadonnées telles que les paramètres de l'appareil photo et les informations sur la scène.
Les fichiers JPEG incluent également des marqueurs, qui sont des séquences de code qui définissent certains paramètres ou actions dans le fichier. Ces marqueurs peuvent indiquer le début d'une image, la fin d'une image, définir des tables de quantification, spécifier des tables de codes de Huffman, etc. Les marqueurs sont essentiels pour le décodage correct de l'image JPEG, car ils fournissent les informations nécessaires pour reconstruire l'image à partir des données compressées.
L'une des principales caractéristiques de JPEG est sa prise en charge de l'encodage progressif. Dans le JPEG progressif, l'image est encodée en plusieurs passes, chacune améliorant la qualité de l'image. Cela permet d'afficher une version de faible qualité de l'image pendant que le fichier est encore en cours de téléchargement, ce qui peut être particulièrement utile pour les images Web. Les fichiers JPEG progressifs sont généralement plus volumineux que les fichiers JPEG de base, mais la différence de qualité pendant le chargement peut améliorer l'expérience utilisateur.
Malgré son utilisation répandue, JPEG présente certaines limites. La nature avec perte de la compression peut entraîner des artefacts tels que le blocage, où l'image peut présenter des carrés visibles, et la « sonnerie », où les bords peuvent être accompagnés d'oscillations parasites. Ces artefacts sont plus visibles à des niveaux de compression plus élevés. De plus, JPEG n'est pas bien adapté aux images avec des bords nets ou du texte à contraste élevé, car l'algorithme de compression peut flouter les bords et réduire la lisibilité.
Pour remédier à certaines des limites de la norme JPEG d'origine, JPEG 2000 a été développé. JPEG 2000 offre plusieurs améliorations par rapport au JPEG de base, notamment une meilleure efficacité de compression, la prise en charge de la compression sans perte et la capacité de gérer efficacement une plus large gamme de types d'images. Cependant, JPEG 2000 n'a pas été largement adopté par rapport à la norme JPEG d'origine, en grande partie en raison de la complexité de calcul accrue et du manque de prise en charge dans certains logiciels et navigateurs Web.
En conclusion, le format d'image JPEG est une méthode complexe mais efficace pour compresser des images photographiques. Son adoption généralisée est due à sa flexibilité pour équilibrer la qualité de l'image avec la taille du fichier, ce qui le rend adapté à une variété d'applications, des graphiques Web à la photographie professionnelle. Bien qu'il présente des inconvénients, tels que la sensibilité aux artefacts de compression, sa facilité d'utilisation et sa prise en charge sur une large gamme d'appareils et de logiciels en font l'un des formats d'image les plus populaires utilisés aujourd'hui.
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.