Optical Character Recognition (OCR) ist der Prozess des Extrahierens von Text aus Bildern. Möglicherweise haben Sie Online und Offline Bilder, aus denen Sie möglicherweise Textinformationen extrahieren müssen. Sie können OCR für Offline Bilder durchführen, aber Sie denken vielleicht, dass Sie sie herunterladen müssten, um OCR für Online Bilder durchzuführen. Nun, das ist nicht erforderlich. In diesem Artikel erfahren Sie, wie Sie OCR für Bilder mithilfe ihrer URL mit C++ durchführen.
- C++-API zum Durchführen von OCR auf Bildern von URL
- Erkennen Sie Text durch Ausführen von OCR auf einem Bild von einer URL mit C++
- Erkennen Sie Text aus ausgewählten Bildbereichen, indem Sie Erkennungsbereiche mit C++ definieren
C++-API zum Durchführen von OCR auf Bildern von URL
Aspose.OCR for C++ ist eine optische Zeichenerkennungs-API, die zuverlässig OCR-Vorgänge für Bilder und gescannte Dokumente ausführen kann. Die API ermöglicht es Ihnen auch, OCR für Bilder von URLs durchzuführen. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt Downloads herunterladen.
PM> Install-Package Aspose.OCR.Cpp
Erkennen Sie Text durch Ausführen von OCR auf einem Bild von einer URL mit C++
Im Folgenden sind die Schritte zum Durchführen von OCR für Bilder von URLs aufgeführt.
- Bereiten Sie den Puffer für das Ergebnis vor.
- Legen Sie die Erkennungseinstellungen fest.
- Führen Sie OCR auf dem Bild mit der methode asposeocr\page\from\uri (const char \ uri, wchar\t \ buffer, size\t buffer\size, RecognitionSettings settings) durch.
Der folgende Beispielcode zeigt, wie OCR für ein Bild von einer URL mit C++ ausgeführt wird.
#include <fcntl.h>
#ifdef _WIN32
#include <corecrt_io.h>
#endif
int main()
{
#ifdef _WIN32
_setmode(_fileno(stdout), _O_U16TEXT);
#else
setlocale(LC_CTYPE, "");
#endif
// Quelldatei-URL
const char* uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
// Puffer für Ergebnis vorbereiten (in Symbolen, len_byte = len * sizeof(wchar_t))
const size_t len = 4096;
wchar_t buffer[len] = { 0 };
// Legen Sie die Erkennungseinstellungen fest
RecognitionSettings settings;
settings.format = export_format::text;
// Führen Sie den OCR-Vorgang für das Bild durch.
size_t res = asposeocr_page_from_uri(uri, buffer, len, settings);
std::wcout << buffer << L"\n";
}
Erkennen Sie Text aus ausgewählten Bildbereichen, indem Sie Erkennungsbereiche mit C++ definieren
Wenn Sie OCR nicht für das gesamte Bild durchführen und das Ergebnis nur aus bestimmten Bildbereichen erhalten möchten, können Sie dafür Erkennungsbereiche definieren. Im Folgenden werden die Schritte zum Festlegen von Erkennungsbereichen für die OCR-Operation beschrieben.
- Definieren Sie die Erkennungsbereiche in einem Array mit rect-Struktur.
- Bereiten Sie den Puffer für das Ergebnis vor.
- Legen Sie den Wert des Strukturmitglieds RecognitionSettings.rectangles gleich dem zuvor definierten Array von Erkennungsbereichen fest.
- Legen Sie den Wert des Strukturmitglieds RecognitionSettings.rectangles\size gleich der Größe des Arrays der Erkennungsbereiche fest.
- Führen Sie OCR für das Bild mit der methode asposeocr\page\from\uri (const char \ uri, wchar\t \ buffer, size\t buffer\size, RecognitionSettings settings) durch.
Der folgende Beispielcode zeigt, wie Erkennungsbereiche verwendet werden, um Text aus bestimmten Bereichen eines Bildes mit C++ zu erkennen.
#include <fcntl.h>
#ifdef _WIN32
#include <corecrt_io.h>
#endif
int main()
{
#ifdef _WIN32
_setmode(_fileno(stdout), _O_U16TEXT);
#else
setlocale(LC_CTYPE, "");
#endif
// Quelldatei-URL
const char* uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
// Definieren Sie die Erkennungsbereiche
rect rectangles[2] = { {90, 180, 770, 333} , { 923, 613, 780, 96 } };
// Puffer für Ergebnis vorbereiten (in Symbolen, len_byte = len * sizeof(wchar_t))
const size_t len = 4096;
wchar_t buffer[len] = { 0 };
// Legen Sie die Erkennungseinstellungen fest
RecognitionSettings settings;
settings.format = export_format::text;
// Legen Sie die Erkennungsbereiche fest
settings.rectangles = rectangles;
// Geben Sie die Größe des Arrays der Erkennungsbereiche an
settings.rectangles_size = 2;
// Führen Sie den OCR-Vorgang für das Bild durch.
size_t res = asposeocr_page_from_uri(uri, buffer, len, settings);
std::wcout << buffer << L"\n";
}
Holen Sie sich eine kostenlose Lizenz
Um die API ohne Evaluierungseinschränkungen zu testen, können Sie eine kostenlose temporäre Lizenz anfordern.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie mit C++ OCR für Bilder von einer beliebigen URL-Adresse durchführen. Außerdem haben Sie gesehen, wie Erkennungsbereiche definiert werden, um OCR nur für ausgewählte Bereiche des Bildes durchzuführen. Aspose.OCR for C++ ist eine robuste API, die viele zusätzliche Funktionen zum Durchführen von OCR auf Bildern bietet. Sie können die API im Detail erkunden, indem Sie die offizielle Dokumentation besuchen. Bei Fragen können Sie uns gerne in unserem kostenlosen Support-Forum erreichen.