Распознать текст на изображении OCR

Оптическое распознавание символов (OCR) — это процесс извлечения текста из изображений. У вас могут быть онлайн-и офлайн-изображения, из которых вам может понадобиться извлечь текстовую информацию. Вы можете выполнять распознавание офлайн-изображений, но вы можете подумать, что для выполнения оптического распознавания символов в онлайн-изображениях вам придется их загружать. Ну, это не требуется. В этой статье вы узнаете, как выполнять распознавание изображений с помощью их URL-адреса с помощью 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-адресов.

В следующем примере кода показано, как выполнять распознавание символов на изображении с 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.

В следующем примере кода показано, как использовать области распознавания для распознавания текста в определенных областях изображения с помощью 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, посетив официальную документацию. Если у вас возникнут вопросы, обращайтесь к нам на бесплатный форум поддержки.

Смотрите также