識別圖像 OCR 上的文本

光學字符識別 (OCR) 是從圖像中提取文本的過程。您可能有在線和離線圖像,您可能需要從中提取文本信息。您可以對離線圖像執行 OCR,但您可能認為要對在線圖像執行 OCR,您必須下載它們。好吧,這不是必需的。在本文中,您將學習如何使用 C++ 的 URL 對圖像執行 OCR。

用於對來自 URL 的圖像執行 OCR 的 C++ API

Aspose.OCR for C++ 是一種光學字符識別 API,可以可靠地對圖像和掃描文檔執行 OCR 操作。該 API 還使您能夠對來自 URL 的圖像執行 OCR。您可以通過 NuGet 安裝 API 或直接從 下載 部分下載。

PM> Install-Package Aspose.OCR.Cpp

通過使用 C++ 對來自 URL 的圖像執行 OCR 來識別文本

以下是對來自 URL 的圖像執行 OCR 的步驟。

以下示例代碼顯示瞭如何使用 C++ 對來自 URL 的圖像執行 OCR。

#include <fcntl.h>
#ifdef _WIN32
#include <corecrt_io.h>
#endif

int main()
{
#ifdef _WIN32
	_setmode(_fileno(stdout), _O_U16TEXT);
#else
	setlocale(LC_CTYPE, "");
#endif

	// 源文件地址
	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 並希望從特定圖像區域獲得結果,您可以定義識別區域來做到這一點。以下是為 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

	// 源文件地址
	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,您可以申請免費的臨時許可證

結論

在本文中,您學習瞭如何使用 C++ 對來自任何 URL 地址的圖像執行 OCR。此外,您還了解瞭如何定義識別區域以僅對圖像的選定區域執行 OCR。 Aspose.OCR for C++ 是一個強大的 API,它提供了許多用於對圖像執行 OCR 的附加功能。您可以通過訪問 官方文檔 來詳細探索 API。如有任何疑問,請隨時通過我們的 免費支持論壇 與我們聯繫。

也可以看看