Pourquoi Aspose.OMR pour C++ ?

Créez et reconnaissez des formulaires lisibles par machine de toute disposition et complexité dans des applications sur site, des services Web ou dans le cloud. Notre solution convient aux projets de toute taille – des simples enquêtes et quiz aux examens finaux et élections. Cliquez sur les éléments ci-dessous pour en savoir plus sur nos fonctionnalités et avantages.

Illustration ocr

Aucun équipement nécessaire

Utilisez votre copieur de bureau existant ou même un appareil photo de smartphone au lieu d'un lecteur OMR spécialisé.

Personnalisation complète

Personnalisez les formulaires OMR en ajoutant des codes QR et des codes-barres générés automatiquement, des images, des champs de signature, etc.

Des résultats fiables

Des algorithmes robustes de détection de marques optiques, associés à la capacité d’affiner la reconnaissance, garantissent des résultats précis à 100 %.

Solution complète

Aspose.OMR pour C++ prend en charge le flux de travail OMR complet - de la conception d'un formulaire à la reconnaissance de ses copies papier remplies.

Adapté aux développeurs

Notre API est extrêmement simple à utiliser, même pour les développeurs inexpérimentés. Une simple application OMR peut être écrite en 10 lignes de code.

Exemple de code en direct

Découvrez la simplicité : convertissez une image en texte en seulement trois lignes de code C++ !

Prêt à reconnaître Prêt à reconnaître Déposez un fichier ici ou cliquez pour parcourir *

* En téléchargeant vos fichiers ou en utilisant le service, vous acceptez notre Conditions d'utilisation et politique de confidentialité.

Résultat de la reconnaissance
 

Convertir l'image en texte

Découvrez plus d'exemples >
  string file = "source.png";
  AsposeOCRInput source;
  source.url = file.c_str();
  vector<AsposeOCRInput> content = {source};
  
  RecognitionSettings settings;
  settings.language_alphabet = language::eng;
  
  size_t size = 0;
  wchar_t* buffer = asposeocr_serialize_result(result, size);
  wcout << wstring(buffer) << endl;

  asposeocr_free_result(result);

La puissance C++ partout

Aspose.OCR pour C++ fonctionne de manière transparente sur n’importe quelle plateforme.

Microsoft Windows
Linux
MacOS
GitHub
Microsoft Azure
Amazon Web Services
Docker

Formats de fichiers pris en charge

Aspose.OCR for C++ peut fonctionner avec pratiquement n’importe quel fichier vous pouvez l’obtenir à partir d’un scanner ou d’un appareil photo. Les résultats de la reconnaissance sont renvoyés dans les formats d’échange de fichiers et de données les plus courants qui peuvent être enregistrés, importés dans une base de données ou analysés en temps réel.

Images

  • JPEG
  • PNG
  • TIFF
  • BMP

ROC par lots

  • Multi-page PDF
  • ZIP
  • Folder

Résultats de reconnaissance

  • Text
  • PDF
  • Microsoft Word
  • Microsoft Excel
  • RTF
  • JSON
  • XML

Installation

Aspose.OCR pour C++ est distribué sous forme de package NuGet ou sous forme de fichier téléchargeable avec des dépendances minimales. Installez-le facilement dans votre projet et vous êtes prêt à reconnaître des textes dans plusieurs langues prises en charge et à enregistrer les résultats de la reconnaissance dans différents formats.

Demander une licence d’essai pour lancer le développement d’une application OCR entièrement fonctionnelle et sans limitations.

La puissance C++ à tous les niveaux

Notre bibliothèque prend entièrement en charge C++11 et versions ultérieures, permettant à vos applications de s’exécuter de manière transparente sur n’importe quelle plate-forme : ordinateur de bureau Windows, Windows Server, macOS, Linux et cloud.

28 langues de reconnaissance

Notre API C++ OCR reconnaît une multitude de langages et de scripts d’écriture populaires, y compris les langages mixtes :

Laissez la détection de langue à la bibliothèque ou définissez la langue vous-même pour des performances et une fiabilité de reconnaissance améliorées.

  • Alphabet latin étendu : croate, tchèque, danois, néerlandais, anglais, estonien, finnois, français, allemand, italien, letton, lituanien, norvégien, polonais, portugais, roumain, slovaque, slovène, espagnol, suédois ;
  • Alphabet cyrillique : biélorusse, bulgare, kazakh, russe, serbe, ukrainien ;
  • Chinois : plus de 6 000 caractères ;
  • Hindi.

Des fonctionnalités et des capacités qui responsabilisent

Aspose.OCR for C++ Découvrez les fonctionnalités et capacités avancées d’Aspose.OCR pour C++.

Feature icon

ROC de photos

Extrayez le texte des photos de votre smartphone avec une précision de niveau numérisation.

Feature icon

PDF consultable

Convertissez n’importe quelle numérisation en un document entièrement consultable et indexable.

Feature icon

Reconnaissance d’URL

Reconnaissez une image à partir d’une URL sans la télécharger localement.

Feature icon

Reconnaissance groupée

Lisez toutes les images de documents, dossiers et archives de plusieurs pages.

Feature icon

N’importe quelle police et style

Identifiez et reconnaissez le texte dans toutes les polices et styles populaires.

Feature icon

Affiner la reconnaissance

Ajustez chaque paramètre OCR pour obtenir les meilleurs résultats de reconnaissance.

Feature icon

Correcteur orthographique

Améliorez les résultats en corrigeant automatiquement les mots mal orthographiés.

Feature icon

Rechercher du texte dans les images

Recherchez du texte ou une expression régulière dans un ensemble d’images.

Feature icon

Comparer les textes des images

Comparez les textes sur deux images, quels que soient la casse et la mise en page.

Feature icon

Limiter la portée de la reconnaissance

Limitez le jeu de caractères recherché par le moteur OCR.

Feature icon

Détecter les défauts d’image

Trouvez automatiquement les zones d’image potentiellement problématiques.

Feature icon

Reconnaître les zones

Recherchez et lisez uniquement des zones spécifiques d’une image, pas tout le texte.

Exemples de code C++

Plongez dans des exemples de code pour intégrer de manière transparente Aspose.OCR pour C++ dans vos applications.

Maîtrise de l’installation C++

En tant que fichier d’archive C++ léger (LIB) ou fichier téléchargeable avec un minimum de dépendances, Aspose.OCR pour C++ est facilement distribué. L’intégration dans votre projet, directement à partir de votre environnement de développement intégré (IDE) C++ préféré, est un processus transparent. Installez-le simplement et vous êtes prêt à exploiter la gamme complète des fonctionnalités OCR, en enregistrant les résultats de reconnaissance dans l’un des formats pris en charge.

Après l’installation, vous pouvez rapidement commencer à utiliser Aspose.OCR pour C++. , mais avec certaines limites. Une licence temporaire lève toutes les restrictions de la version d’essai pendant 30 jours. Profitez de cette période pour lancer le développement d’une application OCR entièrement fonctionnelle, vous permettant de prendre une décision éclairée concernant l’achat d’Aspose.OCR pour C++ à un stade ultérieur.

OCR pour C++

Relevez le défi des applications OCR dépourvues de scanners répandus. Notre API dispose de puissants filtres de prétraitement d’image intégrés qui gèrent efficacement les images pivotées, inclinées et bruyantes. Combiné à la prise en charge de tous les formats d’image, il garantit une reconnaissance fiable même à partir des photos d’un smartphone. La plupart des prétraitements et corrections d’images sont automatisés, ne nécessitant votre intervention que dans les cas difficiles. Vous pouvez également prédéfinir des régions d’image avec lesquelles travailler.

Définir un angle personnalisé pour la correction de l'inclinaison et les régions de reconnaissance défune - C++

string file = "photo.png";
AsposeOCRInput source;
source.url = file.c_str();
std::vector<AsposeOCRInput> content = { source };

// Fine-tune recognition
RecognitionSettings settings;
settings.detect_areas_mode = detect_areas_mode_enum::PHOTO;

// Extract text from the photo
auto result = asposeocr_recognize(content.data(), content.size(), settings);

// Output the recognized text
wchar_t* buffer = asposeocr_serialize_result(result, buffer_size, export_format::text);
std::wcout << std::wstring(buffer) << std::endl;

// Release the resources
asposeocr_free_result(result);

Reconnaître le texte dans des zones spécifiques de l’image

Définissez des régions spécifiques pour la reconnaissance de texte, améliorant ainsi la précision. Adaptez la reconnaissance pour vous concentrer sur les zones critiques, optimisant ainsi les résultats de votre flux de travail de traitement d’image.

Définir des régions de reconnaissance pour l'OCR - C++

// Original image
std::string image_path = "../Data/Source/sample.png";
rect rectangles[2] = { {90, 186, 775, 95} , { 928, 606, 790, 160 } };

// Prepare buffer for result
const size_t len = 4096;
wchar_t buffer[len] = { 0 };

// Adjust skew angle
RecognitionSettings settings;
settings.format = export_format::text;
settings.rectangles = rectangles;
settings.rectangles_size = 2;
settings.skew = 5;

// Recognize image
size_t res_len = aspose::ocr::page_settings(image_path.c_str(), buffer, len, settings);

Conversion d’une numérisation en document modifiable

Même si de nombreuses entreprises, organisations et particuliers s’efforcent activement de réduire leur dépendance aux documents papier, celui-ci reste le format de stockage et de partage le plus répandu. Les documents numérisés soutenus par des archives physiques sont suffisants pour la conformité réglementaire, à des fins juridiques, pour la sauvegarde à long terme et la redondance. Cependant, des analyses de rentabilisation surviennent fréquemment pour la création de nouveaux documents basés sur du contenu numérisé existant ou sur des parties de documents existants.

Aspose.OCR pour С++ facilite la conversion d’une image numérisée ou d’un PDF basé sur une image en un document DOCX ou RTF modifiable ou une feuille de calcul Microsoft Excel (XLSX). Le contenu est reconnu avec une grande précision et rapidité, ce qui vous évite le temps et les efforts de saisie manuelle et garantit l’absence d’erreurs humaines, en particulier lorsque vous travaillez avec de gros volumes de texte.

Transformer l'image numérisée en document texte éditable - C++

// Provide the folder with scanned pages
directory dir("./scans/");
const string current_dir = dir.full_name();
const string image = current_dir + "p.png";
const size_t len = 6000;
wchar_t buffer[len] = { 0 };

// Recognize and save results to Microsoft Word document
RecognitionSettings settings;
settings.save_format = file_format::docx;
asposeocr_page_save(image.c_str(), "result.docx", settings);

Détection des défauts d’image

Les défauts d’image peuvent avoir un impact significatif sur la précision de l’OCR. Ils peuvent être causés par la qualité du processus d’acquisition d’image, les conditions environnementales et le matériel utilisé pour capturer l’image. Pour améliorer la précision de la reconnaissance, il est essentiel de prétraiter et d’améliorer les images afin d’atténuer ces défauts autant que possible.

Aspose.OCR pour C++ peut trouver automatiquement des zones d’image potentiellement problématiques lors de la reconnaissance. Vous pouvez mettre en évidence les zones à problèmes lors de la prévisualisation d’une image et même les OCR à l’aide de paramètres de reconnaissance alternatifs pour obtenir un meilleur résultat.

Reconnaître du texte sur des images floues, déformées et à faible contraste - C++

// Provide the image
string file = "source.png";
AsposeOCRInput source;
source.url = file.c_str();
vector<AsposeOCRInput> content = {source};

// Activate detection of low-contrast areas
RecognitionSettings settings;
settings.defect_type = defect_type::ASPOSE_OCR_DETECT_DARK_IMAGES;

// Find and show low-contrast areas
AsposeOCRRecognitionResult result = asposeocr_recognize(content.data(), content.size(), settings);
for (size_t p_number = 0; p_number < result.pages_amount; ++p_number)
{
  cout << "Page " << p_number << ";\n";
  const auto& page = result.recognized_pages[p_number];
  for (size_t defect_number = 0; defect_number < page.defects_count; ++defect_number)
  {
    const auto& defect_area = page.defect_areas[defect_number];
    cout << "Low-contrast area " << defect_number << ":" << defect_area.area << std::endl;
  }
}

// Release the resources
asposeocr_free_result(result);

Le traitement par lots

L’API OCR vous libère de la reconnaissance de chaque image une par une en proposant diverses méthodes de traitement par lots qui vous permettent de reconnaître plusieurs images en un seul appel :

  • Reconnaissance des fichiers PDF et TIFF multipages.
  • Reconnaissance de tous les fichiers d'un dossier.
  • Reconnaissance de tous les fichiers d'une archive.

Reconnaître l'archive ZIP - C++

// Provide a ZIP archive
string file = "pages.zip";
AsposeOCRInput source;
source.url = file.c_str();
std::vector<AsposeOCRInput> content = { source };

// Fine-tune recognition
RecognitionSettings settings;
settings.detect_areas_mode = detect_areas_mode_enum::COMBINE;

// Extract texts
auto result = asposeocr_recognize(content.data(), content.size(), settings);

Application de détection de texte

Vous pouvez diviser les résultats de la reconnaissance en lignes et détecter des zones de texte dans une page.

Détecter le texte sur l'image - C++

size_t res_len = asposeocr_get_rectangles_number(image_path.c_str(), areas_type::lines, false);
rect* rectangles = new rect[res_len];
res_len = asposeocr_get_rectangles(image_path.c_str(), areas_type::lines, false, rectangles, res_len);