メインコンテンツへスキップ
検索領域 は、一連の検索制約とリレーションによって定義されます。これは、要素によって記述されたオブジェクトをプログラムがどこで検索するかを指定するものです。 検索領域は、共通の境界を持つ必要のない 1 つ以上の矩形で構成されます。つまり、検索領域は連続していなくてもかまいません。 検索領域は、絶対検索制約、つまり座標によって定義することも、相対検索制約、つまり他の要素とのリレーションによって定義することもできます。相対検索制約を指定する場合は、FlexiLayout ツリー内で、対象の要素より上位にある任意の要素を使用できます (この要素に対応する画像オブジェクトは、ツリー内で上位にある要素で記述された、すでに見つかっているオブジェクトの情報を使用してのみ見つけることができます) 。

検索領域の絶対座標を指定する

絶対検索領域は、要素のPropertiesダイアログの Search Constraints タブで定義します。 複数ページ文書の場合は、要素を検索するページ範囲を選択できます。検索領域の絶対ローカル座標は、Region プロパティで指定できます。

検索領域から要素を除外する

Exclude regions of elements プロパティを使用すると、要素について見つかった 仮説 の Region を検索領域から除外できます。除外対象の要素の 仮説 が見つからない場合、この制約はその要素の検索領域には影響しません。
ただし、これには例外があります。ユーザーが Advanced pre-search relations ペインで、除外対象の要素の 仮説 の一部の境界に追加の制約を指定している場合です。この場合、プログラムが除外対象の要素を見つけられないと、その要素の矩形の検索領域が周囲の検索領域から切り取られます。内部矩形の詳細については、Fuzzy rectangle のセクションを参照してください。

縦書きテキストの認識

通貨日付電話文字列固定テキスト段落要素では、横書きと縦書きの両方のテキストを認識できる Search through vertical text オプションを使用できます。Clockwise oriented オプションと Counterclockwise oriented オプションでは、それぞれ上から下、および下から上の縦書きテキストの認識を有効または無効にできます。これらは既定で有効になっており、無効にできるのは Search through vertical text が選択されている場合のみです。

別の要素を基準にした検索領域の指定

相対的な検索領域は、要素の Properties ダイアログの Relations タブで定義します。相対的な検索領域を定義するには、境界をその要素に対して定義するための参照要素を指定し、“right of”、“left of”、“above”、“below” タイプのリレーション (Relations プロパティ) を指定します。検索領域は、どの要素に対してもいくつでも指定できます。検索領域の 境界 は、それぞれ異なる参照要素を基準に指定できます。相対的な検索領域が指定されていない場合、プログラムは画像全体を対象に object を検索します。各 search constraints は半平面を指定します。半平面と画像の intersection によって、検索領域の長方形部分が生成されます。すべての search constraints と画像との intersection によって、要素の検索領域が生成されます。 検索領域の 境界 は、Element 境界 プロパティと Offset プロパティを使用すると、より正確に指定できます。 Element 境界 プロパティでは、要素の上端、下端、左端、または右端の 境界 を基準に、検索領域の 境界 を指定します。既定では、このプロパティは <whole> に設定されています。 相対的な検索領域を計算する際、プログラムが Reference element プロパティで指定された参照要素を見つけられないことがあります。ここでは、参照要素が見つかった場合と見つからなかった場合の両方で、プログラムが相対的な検索領域をどのように計算するかを見ていきます。参照要素がオプションで、その要素で指定された条件を満たす object が画像上に存在しない場合、プログラムはヌル仮説を生成します。参照要素のヌル仮説の Region は、その要素の検索領域を囲む Rectangle と一致します。参照要素が見つかった場合、仮説の Region は、その仮説に含まれる検出された object の Region から構成され、要素の検索領域内に配置されます。 参照要素が見つかっていて、Element 境界 が <whole> に設定されている場合、Right of 制約は「参照要素の右 境界 より右」、Left of 制約は「参照要素の左 境界 より左」などを意味します (つまり、仮説の右、左、下、または上です) 。参照要素の仮説が生成されていない場合、その要素は参照要素の検索領域内のどこにでも存在し得ることを意味します (ただし、検索領域の外側には存在しません) 。したがって、見つかっていない仮説に Right of 制約を適用すると、「参照要素の仮説が存在し得る任意の領域より右」を意味します。数学的には、これは「参照要素の検索領域の左 境界 より右」を意味します。同様に、見つかっていない仮説に Left of 制約を適用すると「参照要素の検索領域の右 境界 より左」、Below 制約は「参照要素の検索領域の上 境界 より下」、Above 制約は「参照要素の検索領域の下 境界 より上」を意味します。 Element 境界 プロパティが特定の値 “Left”、“Top”、“Right”、“Bottom” のいずれかに設定されている場合、検索領域は、仮説が見つかっているかどうかにかかわらず、参照要素の仮説の指定された 境界 を基準に計算されます。たとえば、見つかっていない仮説の場合に、Element 境界 を “Right” に設定した Right of 制約は、「参照要素の検索領域の右 境界 より右」を意味します。 Offset プロパティは、検索領域の 境界 を一定距離だけ移動します。Offset の値が正の場合、境界 は Relation プロパティで指定された方向と同じ方向に移動します。Offset の値が負の場合、境界 は Relation プロパティで指定された方向とは反対方向に移動します。 例: FlexiLayout には YourPlanetName 要素があり、その型は Static Text です。これにより、プログラムは画像上で YOUR PLANET NAME: という field 名を見つけることができます。この field にユーザーが入力したテキスト (この場合は “MARS (satellite Phobos)”) を見つける必要があります。型が Character String の Planet 要素を作成し、Planet 要素の右側に位置する検索領域を指定します。つまり、Element 境界 プロパティを Right of に設定します。検索領域の位置は次の図に示されています。 検索領域の 境界 を右に、つまり Right of リレーションで指定した方向と同じ方向に移動します。これを行うには、正の Offset 値 (たとえば 200) を選択します。境界 の新しい位置は次の図に示されています。 次に、検索領域 の境界を左へ、つまり Rightof リレーションで指定した方向とは反対方向へ移動します。これを行うには、負の Offset 値 (例: -200) を選択します。境界の新しい位置は次の図のとおりです。

特定のオブジェクトに最も近い要素を選択する

Nearestプロパティは、ほかの条件が同じであれば、画像上の特定の要素または点に最も近い位置にある仮説を探すようプログラムに指示します。最も近い要素、点、または座標軸は、その要素のNearestプロパティで指定します。

検索領域の表示

リレーションのプロパティを編集しているとき、または Relations テーブルでリレーションを選択すると、そのリレーションが Image ウィンドウに表示されます。複数のリレーションを選択すると、選択したリレーションの交差領域が表示されます。Reference layout モードでは、Image ウィンドウでオフセット境界をマウスで直接ドラッグして、オフセット値を変更することもできます。 FlexiLayout をマッチングすると、プログラムはまず、指定されたすべての制約に基づいて要素の検索領域を計算します。次に、検索領域内にある画像オブジェクトが、その要素と同じプロパティを持っているかどうかを確認します。FlexiLayout のマッチング結果として誤ったオブジェクトが見つかった場合は、要素の検索領域を確認することで、その原因を調べることができます。 FlexiLayout のマッチング後に要素の検索領域を表示するには、その要素に対応する仮説を右クリックし、ショートカットメニューから Show Search Area コマンドを選択します。検索領域は Image ウィンドウに表示されます。

関連項目:

検索領域を絶対位置で指定する 別の要素を基準に検索領域を指定する 繰り返しグループのインスタンスを参照要素または除外要素として使用する 追加の検索制約