Renforcez vos applications C++ avec l’OCR
Maîtrise de l'OCR : transformer des images en texte
Plus de vitrines >AsposeOCRInput source;
source.url = file_path_str.c_str();
vector<AsposeOCRInput> content = {source};
// Extract text from the image
AsposeOCRRecognitionResult result
= asposeocr_recognize(content.data(), content.size());
// Output the recognized text
size_t size = 0;
wchar_t* result = asposeocr_serialize_result(result, size);
> Install-Package Aspose.Ocr.Cpp
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.
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++ !
* En téléchargeant vos fichiers ou en utilisant le service, vous acceptez notre Conditions d'utilisation et politique de confidentialité.
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.
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
- 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++.
ROC de photos
Extrayez le texte des photos de votre smartphone avec une précision de niveau numérisation.
PDF consultable
Convertissez n’importe quelle numérisation en un document entièrement consultable et indexable.
Reconnaissance d’URL
Reconnaissez une image à partir d’une URL sans la télécharger localement.
Reconnaissance groupée
Lisez toutes les images de documents, dossiers et archives de plusieurs pages.
N’importe quelle police et style
Identifiez et reconnaissez le texte dans toutes les polices et styles populaires.
Affiner la reconnaissance
Ajustez chaque paramètre OCR pour obtenir les meilleurs résultats de reconnaissance.
Correcteur orthographique
Améliorez les résultats en corrigeant automatiquement les mots mal orthographiés.
Rechercher du texte dans les images
Recherchez du texte ou une expression régulière dans un ensemble d’images.
Comparer les textes des images
Comparez les textes sur deux images, quels que soient la casse et la mise en page.
Limiter la portée de la reconnaissance
Limitez le jeu de caractères recherché par le moteur OCR.
Détecter les défauts d’image
Trouvez automatiquement les zones d’image potentiellement problématiques.
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++
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);