テキスト認識の設定

関連:GUI テストおよびコンポーネント

前提条件

アプリケーション内で、取得したいテキストを表示します。

先頭に戻る

テキストの特性の分析

テキストを取得する方法として、テキスト認識メカニズムではなく、テキスト(またはテキストのような)プロパティを使用できるかどうかを判断します。

OCR を使用するステップの実行は、プロパティ・ベースのオブジェクト認識を使用するステップの実行よりも時間がかかります。

先頭に戻る

使用する OCR エンジンを決定します

どの OCR 設定が最良の結果となるかを見出すために、アプリケーションで試す必要があるかもしれません。テストで最適に機能する OCR エンジンを決定したら、そのエンジンを一貫して使用することをお勧めします。実行ごとに異なるエンジンを使用すると、異なる結果が生成される場合があります。

注意: クラウド OCR エンジンは、UFT One バージョン 15.0.1 以降でのみサポートされます。

OCR エンジンを選択するときは、次の点を考慮してください。

考慮事項 Google と Baidu(クラウド) Abbyy と Tesseract(非クラウド)
正確さ

ご使用のアプリケーションで最も正確であるという実績のある OCR エンジンを選択してください。

クラウド・ベンダは、さまざまな顧客プランで、さまざまなレベルの精度を提供しています。

可用性

クラウド OCR アカウントと利用可能なインターネット接続が必要です。

アカウントまたはインターネット接続は必要ありません。

言語サポート

Google Cloud OCR は言語を自動的に検出し、混合言語のテキストをサポートします。アプリケーション内で期待される言語を指定する必要はありません。「既知の問題 - 多言語アプリケーション」も参照してください。

Baidu OCR は、サポートする言語は Abbyy よりも少ないですが、中国語、日本語、韓国語などの象形文字を用いる言語で、精度と認識率が高くなります。

テキスト認識]表示枠で、Baidu と Abbyy で利用可能な言語のリストを確認してください。Baidu は、さまざまな言語を個別にサポートするか、中国語と英語を含むテキストをサポートします。「既知の問題 - 多言語アプリケーション」も参照してください。

Abbyy OCR は多くの言語をサポートしており、複数の言語をサポートするように設定でき、混合言語のテキストを認識できます。

Tesseract OCR エンジンを使用する場合、一度に 1 つの言語パックのみを使用できます。言語パックの詳細については、下記の「言語」を参照してください。

パフォーマンス

コンピュータの構成ではなく、インターネット接続の品質の影響を受けます。

クラウド・プラットフォーム・プランの影響を受けます。

強力なプロセッサが必要です。旧式のコンピュータでは、複雑な画像や多言語テキストの結果を提供するのに長い時間がかかる場合があります。

Tesseract OCR エンジンは、Abbyy OCR エンジンよりも処理に時間がかかります。テスト内にテキスト認識ステップ(GetVisibleText など)が多くある場合、これらのテストを実行するために必要な総時間が増えるので注意してください。

先頭に戻る

適切なオプションの設定

[オプション]ダイアログ・ボックスの[テキスト認識]表示枠([ツール]>[オプション]>[GUI テスト]タブ>[テキスト認識]ノード)で、次のオプションを設定します。

OCR エンジン・タイプ

次のいずれかのテキスト認識メカニズムを選択してください。

  • Abbyy OCR(標準設定のオプション)
  • Tesseract OCR エンジン
  • Google Cloud OCR エンジン
  • Baidu Cloud OCR エンジン

注意: クラウド OCR エンジンは、UFT One バージョン 15.0.1 以降でのみサポートされます。

クラウド OCR サービスへの接続の設定

UFT One バージョン 15.0.1 以降でサポート

クラウド OCR エンジンを使用するには、関連するベンダのアカウントを設定し、クラウド・サービスへの接続に使用するアクセス・トークンまたはキーを取得する必要があります。

  • アクセス・トークンまたはキーを入力します。
  • インターネット接続でプロキシが必要な場合は、プロキシ・サーバのアドレスと認証の詳細を指定します。
  • 接続テスト]を押して接続の詳細をテストし、UFT One がクラウド OCR サービスに接続できることを確認します。
テキスト認識モード

(Abbyy および Tesseract OCR エンジンのみ)

  • 単一テキスト・ブロック・モード:当該領域に焦点を合わせ、単一テキスト・ブロックとして扱います。このモードは、小さなオブジェクト上または小さなテキスト領域でテキストをキャプチャする場合に役立ちます。オブジェクトのテキストがフォント、サイズ、色、および背景に関して統一されている場合は、このオプションを選択します。

  • 複数テキスト・ブロック・モード:オブジェクト内で背景、フォント、およびサイズが異なる各テキスト領域を処理するよう OCR メカニズムに指示します。OCR メカニズムにより、内部アルゴリズムに従ってテキスト・ブロックをどこで分割するかが決定されます。このオプションを選択するのは、オブジェクト上のテキストがさまざまなフォント、フォント・サイズ、色、および/または背景で構成されている場合だけです。

言語

利用可能な言語とサポートされる言語(Abbyy OCR エンジンのみ)

利用可能な言語のリストから、テキスト認識でサポートされる言語を選択します。

UFT One 15.0 以前:複数の非象形文字言語、または中国語、日本語、韓国語などの象形文字言語の 1 つを選択できます。

UFT One 15.0.1 以降:サポートする複数の言語を選択できます。

言語タイプ(Baidu OCR エンジンのみ)

言語のリストから、テキスト認識でサポートする単一の言語を選択するか、[中国語と英語]を選択します。

現在の言語パック(Tesseract OCR エンジンのみ)

テキスト認識で使用する現在の言語パック。Tesseract エンジンを使用する場合、一度に 1 つの言語パックのみが使用できます。

Tesseract OCR エンジンのダウンロード・サイト(https://sourceforge.net/projects/tesseract-ocr-alt/files/?source=navbar)から、追加の言語パックをダウンロードできます。ダウンロードしたら、言語パックのファイルを <UFT One インストール・フォルダ>/dat/tessdata フォルダ内に追加します。

テキスト認識用の記号 (Tesseract OCR エンジンのみ)UFT One に認識させる文字のリストを入力します。UFT One でテストを実行すると、指定した文字のみに対してテキスト認識が実行され、そのほかの文字はすべて無視されます。
高速モード

(Tesseract OCR エンジンのみ)

UFT One がテキスト認識をより高い精度で実行するか、またはテスト実行をより高いパフォーマンスで実行するかを選択します。より高い精度でテストを実行するには、[高速モード]チェックボックスをオフにします。

ファイルの設定の使用

(Tesseract OCR エンジンのみ)外部で作成したファイルからテキスト認識設定をロードするように、UFT One に対して指示します。

ファイルの作成の詳細については、http://www.sk-spell.sk.cx/tesseract-ocr-parameters-in-302-version を参照してください。

テキスト認識を使用する前に画像を前処理 テキスト認識を実行する前に背景画像を処理するように、 UFT One に対して指示します。これにより、テキスト認識を使用する前に UFT One で画像要素を識別できるようになります。

先頭に戻る

テキスト認識設定の検査

  1. テストまたはコンポーネントを作成するか、開きます。
  2. 次の手順のいずれかを実行します。

    • テキスト・チェックポイントまたは出力値ステップを挿入する(テストとスクリプト・コンポーネントのみ)

    • 次のいずれかのテスト・オブジェクト・メソッドを使用するステップを挿入する。

      • testobject.GetVisibleText

      • testobject.GetTextLocation

      • testobject.GetText(ターミナル・エミュレータ・オブジェクト)

    • 次のいずれかの予約済みオブジェクト・メソッドを使用するステップを挿入する(テストとスクリプト・コンポーネントのみ)

      • TextUtil.GetText

      • TextUtil.GetTextLocation

  3. 先頭に戻る

設定の調整(必要な場合)

  • 想定どおりにテキストを取得できない場合は、問題を分析し、UFT One が取得するテキストをテキスト認識オプションを使って微調整します。
  • UFT One15.0.2 以降:挿入した GetVisibleText ステップが、フレームで囲まれたテキストのキャプチャで正しく機能しない場合は、OCR 関連のステップの前にsetting("ABBYYOCRTextInFrame") = True を追加し、これらのステップの後に setting("ABBYYOCRTextInFrame") = False を追加してみてください。

    例:  

    setting("ABBYYOCRTextInFrame") = True
    
    print Window("WinBurger").Dialog("WinBurger Order-Entry").WinButton("Add").GetVisibleText()
    
    setting("ABBYYOCRTextInFrame") = False

先頭に戻る

その他の参照項目: