Stärken Sie Ihre C++-Anwendungen mit OCR
OCR-Meisterschaft: Bilder in Text umwandeln
Weitere Vitrinen >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
Warum Aspose.OMR für C++?
Erstellen und erkennen Sie maschinenlesbare Formen beliebiger Anordnung und Komplexität in On-Premise-Anwendungen, Webdiensten oder in der Cloud. Unsere Lösung eignet sich für Projekte jeder Größe – von einfachen Umfragen und Quizzen bis hin zu Abschlussprüfungen und Wahlen. Klicken Sie auf die folgenden Elemente, um mehr über unsere Funktionen und Vorteile zu erfahren.
Keine Ausrüstung erforderlich
Nutzen Sie Ihren vorhandenen Bürokopierer oder sogar eine Smartphone-Kamera anstelle eines speziellen OMR-Lesegeräts.
Vollständige Personalisierung
Personalisieren Sie OMR-Formulare, indem Sie automatisch generierte QR-Codes und Barcodes, Bilder, Signaturfelder und mehr hinzufügen.
Zuverlässige Ergebnisse
Robuste optische Markierungserkennungsalgorithmen gepaart mit der Möglichkeit zur Feinabstimmung der Erkennung garantieren 100 % genaue Ergebnisse.
Gesamtlösung
Aspose.OMR für C++ unterstützt den gesamten OMR-Workflow – vom Entwurf eines Formulars bis zur Erkennung seiner ausgefüllten Ausdrucke.
Entwicklerfreundlich
Unsere API ist auch für unerfahrene Entwickler äußerst einfach zu bedienen. Eine einfache OMR-Anwendung kann in 10 Codezeilen geschrieben werden.
Live-Codebeispiel
Erleben Sie Einfachheit: Konvertieren Sie ein Bild in Text in nur drei Zeilen C++-Code!
* Durch das Hochladen Ihrer Dateien oder die Nutzung des Dienstes stimmen Sie unserem zu Nutzungsbedingungen Und Datenschutzrichtlinie.
Bild in Text umwandeln
Entdecken Sie weitere Beispiele > 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);
C++-Power überall
Aspose.OCR für C++ funktioniert nahtlos auf jeder Plattform.
Unterstützte Dateiformate
Aspose.OCR for C++ kann mit praktisch jeder [Datei]arbeiten( https://docs.aspose.com/ocr/cpp/supported-file-formats/ ) Sie können von einem Scanner oder einer Kamera erhalten. Erkennungsergebnisse werden in den gängigsten Datei- und Datenaustauschformaten zurückgegeben, die gespeichert, in eine Datenbank importiert oder in Echtzeit analysiert werden können.
Bilder
- JPEG
- PNG
- TIFF
- BMP
Batch-OCR
- Multi-page PDF
- ZIP
- Folder
Anerkennungsergebnisse
- Text
- Microsoft Word
- Microsoft Excel
- RTF
- JSON
- XML
Installation
Aspose.OCR für C++ wird als NuGet-Paket oder als herunterladbare Datei mit minimalen Abhängigkeiten verteilt. Installieren Sie es einfach in Ihr Projekt, und schon sind Sie bereit, Texte in mehreren unterstützten Sprachen zu erkennen und Erkennungsergebnisse in verschiedenen Formaten zu speichern.
Fordern Sie eine Testlizenz an , um die Entwicklung einer voll funktionsfähigen OCR-Anwendung ohne Einschränkungen zu starten.
C++-Leistung auf ganzer Linie
Unsere Bibliothek unterstützt vollständig C++11 und höher, sodass Ihre Anwendungen nahtlos auf jeder Plattform ausgeführt werden können – Desktop-Windows, Windows Server, macOS, Linux und der Cloud.
28 Erkennungssprachen
Unsere C++-OCR-API erkennt eine Vielzahl von Sprachen und gängigen Schreibskripten, einschließlich gemischter Sprachen:
Überlassen Sie die Spracherkennung der Bibliothek oder definieren Sie die Sprache selbst, um die Erkennungsleistung und Zuverlässigkeit zu verbessern.
- Erweitertes lateinisches Alphabet: Kroatisch, Tschechisch, Dänisch, Niederländisch, Englisch, Estnisch, Finnisch, Französisch, Deutsch, Italienisch, Lettisch, Litauisch, Norwegisch, Polnisch, Portugiesisch, Rumänisch, Slowakisch, Slowenisch, Spanisch, Schwedisch;
- Kyrillisches Alphabet: Weißrussisch, Bulgarisch, Kasachisch, Russisch, Serbisch, Ukrainisch;
- Chinesisch: Über 6.000 Zeichen;
- Hindi.
Funktionen und Fähigkeiten, die Sie befähigen
Aspose.OCR for C++ Entdecken Sie die erweiterten Funktionen und Fähigkeiten von Aspose.OCR für C++.
Foto-OCR
Extrahieren Sie Text aus Smartphone-Fotos mit Scan-Genauigkeit.
Durchsuchbares PDF
Wandeln Sie jeden Scan in ein vollständig durchsuchbares und indizierbares Dokument um.
URL-Erkennung
Erkennen Sie ein Bild anhand der URL, ohne es lokal herunterzuladen.
Massenerkennung
Lesen Sie alle Bilder aus mehrseitigen Dokumenten, Ordnern und Archiven.
Beliebige Schriftart und Stil
Identifizieren und erkennen Sie Texte in allen gängigen Schriftarten und Stilen.
Feinabstimmung der Erkennung
Passen Sie jeden OCR-Parameter an, um optimale Erkennungsergebnisse zu erzielen.
Rechtschreibprüfung
Verbessern Sie die Ergebnisse, indem Sie falsch geschriebene Wörter automatisch korrigieren.
Finden Sie Text in Bildern
Suchen Sie nach Text oder regulären Ausdrücken in einer Reihe von Bildern.
Vergleichen Sie Bildtexte
Vergleichen Sie Texte auf zwei Bildern, unabhängig von Groß-/Kleinschreibung und Layout.
Begrenzen Sie den Erkennungsbereich
Begrenzen Sie den Satz von Zeichen, nach denen die OCR-Engine sucht.
Bildfehler erkennen
Finden Sie automatisch potenziell problematische Bildbereiche.
Bereiche erkennen
Suchen und lesen Sie nur bestimmte Bereiche eines Bildes, nicht den gesamten Text.
C++-Codebeispiele
Tauchen Sie ein in Codebeispiele, um Aspose.OCR für C++ nahtlos in Ihre Anwendungen zu integrieren.
Beherrschung der C++-Installation
Nach der Installation können Sie sofort mit der Verwendung von Aspose.OCR für C++ beginnen , wenn auch mit gewissen Einschränkungen. Eine temporäre Lizenz hebt alle Einschränkungen der Testversion für 30 Tage auf. Nutzen Sie diese Zeit, um mit der Entwicklung einer voll funktionsfähigen OCR-Anwendung zu beginnen, sodass Sie zu einem späteren Zeitpunkt eine fundierte Entscheidung über den Kauf von Aspose.OCR für C++ treffen können.
OCR für C++-Fotos
Bewältigen Sie die Herausforderung, dass OCR-Anwendungen keine weit verbreiteten Scanner haben. Unsere API verfügt über leistungsstarke integrierte Bildvorverarbeitungsfilter, die gedrehte, verzerrte und verrauschte Bilder geschickt verarbeiten. Kombiniert mit der Unterstützung aller Bildformate sorgt es für eine zuverlässige Erkennung auch von Smartphone-Fotos. Die meisten Vorverarbeitungs- und Bildkorrekturen sind automatisiert und erfordern nur in schwierigen Fällen Ihr Eingreifen. Sie können auch Bildbereiche vordefinieren, mit denen gearbeitet werden soll.
Legen Sie einen benutzerdefinierten Winkel für die Schräglaufkorrektur fest und definieren Sie Erkennungsbereiche – 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);
Erkennen Sie Text in bestimmten Bildbereichen
Definieren Sie bestimmte Bereiche für die Texterkennung und erhöhen Sie so die Genauigkeit. Passen Sie die Erkennung an, um sich auf kritische Bereiche zu konzentrieren und so die Ergebnisse in Ihrem Bildverarbeitungs-Workflow zu optimieren.
Definieren Sie Erkennungsbereiche für 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);
Konvertieren eines Scans in ein bearbeitbares Dokument
Während viele Unternehmen, Organisationen und Einzelpersonen aktiv daran arbeiten, ihre Abhängigkeit von Papierdokumenten zu verringern, ist dies immer noch das am weitesten verbreitete Format für die Speicherung und Weitergabe. Gescannte Dokumente, die durch physische Archive gesichert sind, reichen für die Einhaltung gesetzlicher Vorschriften, rechtliche Zwecke, langfristige Sicherung und Redundanz aus. Es entstehen jedoch häufig Geschäftsfälle für die Erstellung neuer Dokumente auf der Grundlage vorhandener gescannter Inhalte oder Teile vorhandener Dokumente.Aspose.OCR für С++ erleichtert die Konvertierung eines gescannten Bildes oder einer bildbasierten PDF-Datei in ein bearbeitbares DOCX- oder RTF-Dokument oder eine Microsoft Excel-Tabelle (XLSX). Inhalte werden mit hoher Genauigkeit und Geschwindigkeit erkannt, was Ihnen Zeit und Aufwand für die manuelle Eingabe erspart und sicherstellt, dass es keine menschlichen Fehler gibt, insbesondere bei der Arbeit mit großen Textmengen.
Verwandeln Sie ein gescanntes Bild in ein beschreibbares Textdokument – 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);
Bildfehler erkennen
Bildfehler können die Genauigkeit der OCR erheblich beeinträchtigen. Sie können durch die Qualität des Bildaufnahmevorgangs, die Umgebungsbedingungen und die zur Bildaufnahme verwendete Hardware verursacht werden. Um die Erkennungsgenauigkeit zu verbessern, ist es wichtig, Bilder vorzuverarbeiten und zu verbessern, um diese Fehler nach Möglichkeit zu verringern.Aspose.OCR für C++ kann potenziell problematische Bildbereiche während der Erkennung automatisch finden . Sie können Problembereiche bei der Vorschau eines Bildes hervorheben und diese mithilfe alternativer Erkennungseinstellungen sogar per OCR markieren, um ein besseres Ergebnis zu erzielen.
Erkennen Sie Text auf verschwommenen, verzerrten und kontrastarmen Bildern – 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);
Stapelverarbeitung
Die OCR-API befreit Sie davon, jedes Bild einzeln zu erkennen, indem sie verschiedene Stapelverarbeitungsmethoden anbietet, mit denen Sie mehrere Bilder in einem Aufruf erkennen können:
- Erkennung mehrseitiger PDF- und TIFF-Dateien.
- Erkennung aller Dateien in einem Ordner.
- Erkennung aller Dateien in einem Archiv.
ZIP-Archiv erkennen – 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);
Texterkennungsfunktion
Sie können Erkennungsergebnisse in Zeilen aufteilen und Textbereiche auf einer Seite erkennen.
Text auf Bild erkennen – 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);