テキストや数字の読み取り

このツールでは、画像内のテキストや数字を読み取ります。easyTouch および easyTouch+ を使用して、読み取るテキストをインタラクティブに選択できます。easyTouch は、選択したテキストを検出して読み取るためのパラメーター値を自動的に推定します。読み取るテキストに対して関心領域 (ROI) を使用することもできます。ROI に複数行のテキストが含まれている場合、テキストの各行が読み取られ、タプルで返されます。

ツール ディープラーニングを使用したテキストと数字の読み取り とは対照的に、このツールでは、テキストを読み取るための入力としてトレーニング済みのフォントが必要です。したがって、指定したフォントのテキストのみを読み取ることができます。MERLIC は既にいくつかのプレトレーニングしたフォントを提供しています。ただし、独自のフォントファイルを使用することもできます。考慮すべきさらにいくつかの制限もあります。たとえば、テキスト行内に少なくとも 2 文字が必要です。

アプリケーションにツール「テキストや数字の読み取り」または「ディープラーニングを使用したテキストと数字の読み取り」のどちらが最適であるかは、さまざまな要因によって異なります。2 つのどちらがアプリケーションに最適かわからない場合は、両方をテストして、結果、処理時間、アプリケーションに関連するその他の要因を比較できます。

一般に、このツールは、左から右へ書かれるテキストや、読み取るテキストの位置が既にわかっている画像に適しています。必要なプレトレーニングしたフォントもあり、使用するメモリと処理時間をできるだけ少なくしたい場合は、まずこのツールを試すこともできます。

パラメーター

基本パラメーター

画像:

このパラメータは入力画像を表します。

色画像をこのツールの入力として使用すると、最初のチャンネル (赤いチャンネル) のみが処理の対象になります。

フォント名:

このパラメーターを使用して、コンボボックスからフォントを選択することができます。または、 ボタンを使用して、ファイルからフォントを読み込みます。このフォントは、テキストの読み取りに使用されます。

説明

DotPrint.omc

このフォントでは、ドットプリントを読み取ることができます。

Industrial.omc

このフォントでは、標準テキストを読み取ることができます。

Universal.omc

このフォントでは、標準テキストとドットプリントのいずれも読み取ることができます。「Universal.omc」の読み取り比率は、「DotPrint.omc」と「Industrial.omc」の読み取り比率より低くなります。したがって、このフォントは読み取るテキストが標準テキストとドットプリントのいずれであるか不明な場合のみ使用してください。

UniversalDeepLearning.occ

このフォントでは、標準テキストとドットプリントのいずれも読み取ることができます。これはディープラーニングに基づいており、他のフォントよりもロバスト性が高いと考えられています。デフォルトでは、このフォントがテキストの読み取りに使用されます。

ファイルから自分専用のフォントを使用するには、そのフォントファイルを MERLIC インストレーションディレクトリのocr ディレクトリにコピーします。ツールを再び読み込むと、すなわちそのフォントファイルが挿入されると、新しいフォントは、パラメーター「フォント名」のドロップダウンメニューから利用できるようになります。

ドットプリント:

このパラメーターは、文字がドットプリントであるかどうかを定義します。デフォルト設定は 0 です。

説明

0

文字はドットプリントで出力されません。

1

文字はドットプリントで出力されます。

文字幅:

このパラメーターは、文字の幅を定義します。値は大文字です。このパラメーターはピクセル単位で定義され、デフォルト設定値は 30 ピクセルです。

説明

30

これは文字幅のデフォルト値です。

0 ~ 120

これは文字幅を設定できる値の範囲です。

文字高さ:

このパラメーターは文字の高さを定義します。値は大文字です。このパラメーターはピクセル単位で定義され、デフォルト設定値は 55 ピクセルです。

説明

55

これは文字高さのデフォルト値です。

0 ~ 200

これは文字高さを設定できる値の範囲です。

追加パラメーター

ROI:

パラメーター「ROI」は、テキストと数値を検知するための関心領域 (ROI) を定義します。デフォルトで、ROI は定義されません。処理に ROI を使用した場合は、ROI がこのツールに送信されるよう、適切な前のツールの結果 ROI にパラメーターを接続するか、使用可能な ROI ボタンで新しい ROI を画像に描画する必要があります。または、easyToucheasyTouch+ で読み取るテキストと数値を検知します。ROI がテキストの周囲に自動的に作成されます。

アライメントデータ:

このパラメータは、ROI のアライメントに使用するアライメントデータを表します。デフォルトでは、アライメントデータが接続されていないため、効果はありません。特定のアライメントデータを使用するには、マッチングによるアライメント直線境界でアライメントを決定画像をアライメント、あるいは 画像を回転 など、パラメータを適切な前のツールの結果に接続します。

サイズ許容範囲:

このパラメーターは、「文字幅」または「文字高さ」との文字サイズの違いの許容度を定義します。このパラメーターはパーセント値として定義され、デフォルト設定値は 120 です。「サイズ許容範囲」を変更できる範囲は、0 から 300 です。300% に設定した場合、文字は「文字幅」(または「文字高さ」) の 4 分の 1 から 4 倍のサイズとなります。

説明

120

読み取る文字サイズの違いの許容度は 120% です。

0 ~ 300

これはサイズ許容値を設定できる値の範囲です。

文字プロパティ:

このパラメーターは、背景を基準に文字の外見を定義します。デフォルト設定は「暗い」です。

説明

暗い

明るい背景に比べて文字が暗い。

明るい

暗い背景に比べて文字が明るい。

テキスト構造:

パラメーター「テキスト構造」は、プロポーショナルフォント (幅が変化する文字のフォント) のみをサポートします。このパラメータは等幅フォントでは正しく機能しないことがあります。

このパラメーターは、文字のグループ化の方法など、テキストの構造を定義します。このパラメーターは、画像に日付がある場合など、テキストが必ず同じ構造内で表示される場合に便利です。そのような構造化テキストでは、文字は一定の長さのブロックで表示されます。この値には、各ブロック内の文字数が含まれます。たとえば、「テキスト構造」の値を「4 2 2」と定義し、パラメーター「テキストセパレータ」が「-」の場合、テキストが 3 ブロックからなり、最初のブロックは 4 文字で構成され、2 番目と 3 番目のブロックはそれぞれ 2 文字で構成されることを表します。3 つのブロックは、'-' で区切ります。

テキストの読み取り例: 2015-06-15

パラメーター「テキスト構造」における表示方法: 4 2 2

テキストセパレータ:

このパラメーターは文字列で使用できるテキストセパレータを定義します。このパラメーターを設定すると、日付の読み取りなど構造化されたテキストに便利です。その場合、対応するパラメーターに「テキスト構造」を最初に定義してください。

読み取るテキストの例:2015-06-15

テキスト」の結果はセパレータなしで返されます: 20150615

/」など「.」以外のセパレータを使用するときは、すべてのセパレータをパラメーター「テキストセパレータ」で定義します。ただし、「テキストセパレータ」の値を設定しないと、この場合は同じ正しい結果が返ります。これは、セパレータの種類が未知であっても、文字ブロック数に関する情報をパラメーター「テキスト構造」で得ているからです。

ストローク幅:

このパラメーターは、文字のストローク幅を定義します。このパラメーターはピクセル単位で定義され、デフォルト設定値は 12 ピクセルです。

説明

12

これは、文字のストローク幅のデフォルト値です。

1 ~ 30

これは、ストローク幅を設定できる値の範囲です。

失敗した処理:

このパラメーターでは、画像の文字列の 1 つが読み取れない場合に「テキスト」および「信頼度」の結果で返す値を指定します。パラメーターの設定値はデフォルトで「無視」です。このパラメータは対応するコネクターで以下の値に設定できます。

説明

無視

画像の文字列の 1 つを読み取れなくても何も起きません。

-1

値は例です。この値は、テキストの 1 つが読み取れなかった場合に返したい任意の数字や文字列を、コネクターの入力フィールドで直接置き換えることができます。

*

値は例です。この値は、テキストの 1 つが読み取れなかった場合に返したい任意の数字や文字列を、コネクターの入力フィールドで直接置き換えることができます。

エンコーディング:

このパラメーターは、テキストや数字の読み取り時にどのエンコーディングを使用するかを定義します。「デフォルト」値の場合、エンコーディングタイプに「UTF-8」が使用されることを意味します。

サポート対象のエンコーディングタイプのリストについては、以下の表を展開してください。

結果

基本結果

テキスト:

この結果には読み取られたテキストと数字が含まれます。テキストと数字は文字列で返ります。複数の ROI で複数のテキストエントリが読み取られた場合、結果はタプルで返ります。

信頼度:

この結果では、定義した検索領域に、どの程度の確かさでテキストを読み取ったかを示す信頼値のタプルが返ります。信頼値は画像内のテキスト文字列ごとに返ります。これらの値は、実数としてタプルで返ります。確かさ 100% の検索領域でテキストが読み取られると、その領域には値 1 が返ります。

ツール状態:

ツール状態」はツール状態の情報を返します。したがって、エラー処理に使うことができます。さまざまなツールの状態結果の詳細については、 ツール状態 結果 のトピックを参照してください。

追加結果

抽出した文字領域:

この結果は、画像内で読み取った文字ごとの領域を返します。

処理時間:

この結果は、ツールの直近の実行の持続時間をミリ秒単位で返します。結果は、追加結果として提供されます。したがって、デフォルトでは非表示になっていますが、ツール結果の横にある ボタンを使用して表示できます。詳細については、ツールリファレンス概要の処理時間の節を参照してください。

アプリケーションの例

このツール、以下の MERLIC Vision App 例で使用します:

  • read_lot_number_and_ECC200.mvapp
  • read_text_in_3d_height_image.mvapp