光學字符識別 (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 的步驟。
- 為結果準備緩衝區。
- 設置 識別設置。
- 使用 asposeocrpagefromuri (const char\uri, wchart\buffer, sizet buffersize, RecognitionSettings settings) 方法對圖像執行 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 操作設置識別區域的步驟。
- 在rect結構的數組中定義識別區域。
- 為結果準備緩衝區。
- 將 RecognitionSettings.rectangles 結構成員的值設置為等於先前定義的識別區域數組。
- 將 RecognitionSettings.rectanglessize 結構成員的值設置為等於識別區域數組的大小。
- 使用 asposeocrpagefromuri (const char\uri, wchart\buffer, sizet buffersize, RecognitionSettings settings) 方法對圖像執行 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。如有任何疑問,請隨時通過我們的 免費支持論壇 與我們聯繫。