Оптическое распознавание символов (OCR) — это процесс извлечения текста из изображений. У вас могут быть онлайн-и офлайн-изображения, из которых вам может понадобиться извлечь текстовую информацию. Вы можете выполнять распознавание офлайн-изображений, но вы можете подумать, что для выполнения оптического распознавания символов в онлайн-изображениях вам придется их загружать. Ну, это не требуется. В этой статье вы узнаете, как выполнять распознавание изображений с помощью их URL-адреса с помощью C++.
- C++ API для выполнения OCR на изображениях с URL-адреса
- Распознайте текст, выполнив OCR на изображении с URL-адреса с помощью C++
- Распознавание текста из выбранных областей изображения путем определения областей распознавания с помощью C++
C++ API для выполнения OCR на изображениях с URL-адреса
Aspose.OCR for C++ — это API оптического распознавания символов, который может надежно выполнять операции OCR на изображениях и отсканированных документах. API также позволяет выполнять распознавание изображений с URL-адресов. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.
PM> Install-Package Aspose.OCR.Cpp
Распознайте текст, выполнив OCR на изображении с URL-адреса с помощью C++
Ниже приведены шаги для выполнения OCR на изображениях из URL-адресов.
- Подготовьте буфер для результата.
- Установите RecognitionSettings.
- Выполните OCR на изображении с помощью метода asposeocrpagefromuri (const char\uri, wchart\buffer, sizet buffersize, RecognitionSettings settings).
В следующем примере кода показано, как выполнять распознавание символов на изображении с URL-адреса с помощью C++.
#include <fcntl.h>
#ifdef _WIN32
#include <corecrt_io.h>
#endif
int main()
{
#ifdef _WIN32
_setmode(_fileno(stdout), _O_U16TEXT);
#else
setlocale(LC_CTYPE, "");
#endif
// URL исходного файла
const char* uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
// Подготовить буфер для результата (в символах len_byte = len * sizeof(wchar_t))
const size_t len = 4096;
wchar_t buffer[len] = { 0 };
// Задайте настройки распознавания
RecognitionSettings settings;
settings.format = export_format::text;
// Выполните операцию OCR на изображении.
size_t res = asposeocr_page_from_uri(uri, buffer, len, settings);
std::wcout << buffer << L"\n";
}
Распознавание текста из выбранных областей изображения путем определения областей распознавания с помощью C++
Если вы не хотите выполнять распознавание всего изображения и хотите получить результат из определенных областей изображения, вы можете определить области распознавания именно для этого. Ниже приведены шаги по настройке областей распознавания для операции OCR.
- Определите области распознавания в массиве структуры rect.
- Подготовьте буфер для результата.
- Установить значение члена структуры RecognitionSettings.rectangles равным ранее определенному массиву областей распознавания.
- Установите значение члена структуры RecognitionSettings.rectanglessize равным размеру массива областей распознавания.
- Выполните OCR на изображении с помощью метода asposeocrpagefromuri (const char\uri, wchart\buffer, sizet buffersize, RecognitionSettings settings).
В следующем примере кода показано, как использовать области распознавания для распознавания текста в определенных областях изображения с помощью C++.
#include <fcntl.h>
#ifdef _WIN32
#include <corecrt_io.h>
#endif
int main()
{
#ifdef _WIN32
_setmode(_fileno(stdout), _O_U16TEXT);
#else
setlocale(LC_CTYPE, "");
#endif
// URL исходного файла
const char* uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
// Определите области распознавания
rect rectangles[2] = { {90, 180, 770, 333} , { 923, 613, 780, 96 } };
// Подготовить буфер для результата (в символах len_byte = len * sizeof(wchar_t))
const size_t len = 4096;
wchar_t buffer[len] = { 0 };
// Задайте настройки распознавания
RecognitionSettings settings;
settings.format = export_format::text;
// Установите области распознавания
settings.rectangles = rectangles;
// Укажите размер массива областей распознавания
settings.rectangles_size = 2;
// Выполните операцию OCR на изображении.
size_t res = asposeocr_page_from_uri(uri, buffer, len, settings);
std::wcout << buffer << L"\n";
}
Получить бесплатную лицензию
Чтобы попробовать API без ограничений на пробную версию, вы можете запросить бесплатную временную лицензию.
Вывод
В этой статье вы узнали, как выполнять распознавание изображений с любого URL-адреса с помощью C++. Кроме того, вы увидели, как определить области распознавания для выполнения оптического распознавания символов только в выбранных областях изображения. Aspose.OCR для C++ — это надежный API, предоставляющий множество дополнительных функций для распознавания текста на изображениях. Вы можете подробно изучить API, посетив официальную документацию. Если у вас возникнут вопросы, обращайтесь к нам на бесплатный форум поддержки.