光学式文字認識(OCR)は、画像からテキストを抽出するプロセスです。あなたはあなたがテキスト情報を抽出する必要があるかもしれないオンラインとオフラインの画像を持っているかもしれません。オフライン画像でOCRを実行することはできますが、オンライン画像でOCRを実行するには、それらをダウンロードする必要があると考えているかもしれません。まあ、それは必要ありません。この記事では、C++でURLを使用して画像に対してOCRを実行する方法を学習します。
- URLからの画像に対してOCRを実行するためのC++API
- C++を使用してURLから画像にOCRを実行してテキストを認識する
- C++を使用して認識領域を定義することにより、選択した画像領域からテキストを認識します
URLからの画像に対してOCRを実行するためのC++API
Aspose.OCR for C++は、画像やスキャンしたドキュメントに対してOCR操作を確実に実行できる光学式文字認識APIです。 APIを使用すると、URLからの画像に対してOCRを実行することもできます。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。
PM> Install-Package Aspose.OCR.Cpp
C++を使用してURLから画像にOCRを実行してテキストを認識する
以下は、URLからの画像に対してOCRを実行する手順です。
- 結果のバッファーを準備します。
- RecognitionSettingsを設定します。
- asposeocr_page_from_uri(const char * uri, wchar_t * buffer, size_t_buffer * size, 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
// ソースファイルの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を実行せず、特定の画像領域から結果を取得したい場合は、認識領域を定義してそれを実行できます。 OCR操作の認識領域を設定する手順は次のとおりです。
- rect構造の配列で認識領域を定義します。
- 結果のバッファーを準備します。
- RecognitionSettings.rectangles構造体メンバーの値を、以前に定義した認識領域の配列と同じに設定します。
- RecognitionSettings.rectangles_size構造体メンバーの値を、認識領域配列のサイズと同じに設定します。
- asposeocr_page_from_uri(const char * uri, wchar_t * buffer, size_t_buffer * size, 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
// ソースファイルの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を試すために、無料の一時ライセンスをリクエストできます。
結論
この記事では、C++を使用して任意のURLアドレスからの画像に対してOCRを実行する方法を学習しました。さらに、画像の選択された領域のみでOCRを実行するための認識領域を定義する方法を見てきました。 Aspose.OCR for C++は、画像に対してOCRを実行するための多くの追加機能を提供する堅牢なAPIです。 公式ドキュメントにアクセスすると、APIの詳細を調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。