Розпізнавання тексту на зображенні OCR

Оптичне розпізнавання символів (OCR) — це процес вилучення тексту із зображень. У вас можуть бути онлайнові та офлайнові зображення, з яких вам може знадобитися витягти текстову інформацію. Ви можете виконувати оптичне розпізнавання зображень у режимі офлайн, але ви можете подумати, що для розпізнавання зображень у мережі вам доведеться їх завантажити. Ну, це не обов’язково. У цій статті ви дізнаєтеся, як розпізнавати зображення на C++ за допомогою їх URL-адреси.

C++ API для розпізнавання зображень із URL-адреси

Aspose.OCR for C++ – це API оптичного розпізнавання символів, який може надійно виконувати операції OCR із зображеннями та сканованими документами. API також дає змогу виконувати розпізнавання зображень із URL-адрес. Ви можете встановити API через NuGet або завантажити його безпосередньо з розділу Завантаження.

PM> Install-Package Aspose.OCR.Cpp

Розпізнавайте текст, виконуючи OCR на зображенні з URL-адреси за допомогою C++

Нижче наведено кроки для розпізнавання зображень із URL-адрес.

У наведеному нижче прикладі коду показано, як виконати OCR для зображення з 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++. Крім того, ви побачили, як визначити області розпізнавання для виконання OCR лише на вибраних ділянках зображення. Aspose.OCR for C++ — це надійний API, який надає багато додаткових функцій для виконання OCR на зображеннях. Ви можете детально вивчити API, відвідавши офіційну документацію. У разі будь-яких запитань зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також