> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 検索領域

> 検索領域は、絶対座標や他の要素とのリレーション、オフセット、Nearest プロパティを使用して、FlexiLayout がオブジェクトを検索する場所を指定します。

**検索領域** は、一連の検索制約とリレーションによって定義されます。これは、要素によって記述されたオブジェクトをプログラムがどこで検索するかを指定するものです。

検索領域は、共通の境界を持つ必要のない 1 つ以上の矩形で構成されます。つまり、検索領域は連続していなくてもかまいません。

検索領域は、絶対検索制約、つまり座標によって定義することも、相対検索制約、つまり他の要素とのリレーションによって定義することもできます。

相対検索制約を指定する場合は、FlexiLayout ツリー内で、対象の要素より上位にある任意の要素を使用できます (この要素に対応する画像オブジェクトは、ツリー内で上位にある要素で記述された、すでに見つかっているオブジェクトの情報を使用してのみ見つけることができます) 。

<div id="specify-the-absolute-coordinates-of-a-search-area">
  ## 検索領域の絶対座標を指定する
</div>

絶対検索領域は、要素の**Properties**ダイアログの **検索制約** タブで定義します。

複数ページ文書の場合は、要素を検索するページ範囲を選択できます。検索領域の絶対ローカル座標は、**Region** プロパティで指定できます。

<div id="exclude-an-element-from-the-search-area">
  ## 検索領域から要素を除外する
</div>

**Exclude regions of elements** プロパティを使用すると、要素について見つかった 仮説 の Region を検索領域から除外できます。除外対象の要素の 仮説 が見つからない場合、この制約はその要素の検索領域には影響しません。

<Note>
  ただし、これには例外があります。**Advanced pre-search relations** ペインで、除外対象の要素の 仮説 の一部の境界に追加の制約が指定されている場合です。この場合、除外対象の要素が見つからないと、FlexiLayout Studio はその要素の矩形の検索領域を周囲の検索領域から切り取ります。内部矩形の詳細については、[Fuzzy rectangle](/ja/flexi-capture/fls/language/fuzzy-rect) を参照してください。
</Note>

<div id="recognize-vertical-text">
  ## 縦書きテキストを認識する
</div>

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

<div id="specify-a-search-area-relative-to-another-element">
  ## 別の要素を基準にした検索領域を指定する
</div>

相対検索領域は、要素の **Properties** ダイアログの **Relations** タブで定義します。相対検索領域を定義するには、境界をその要素に対して定義するための参照要素を指定し、**Right of**、**Left of**、**Above**、**Below** タイプのリレーション (**Relations** プロパティ) を指定します。

検索領域は、どの要素に対してもいくつでも指定できます。検索領域の 境界 は、それぞれ異なる参照要素を基準に指定できます。相対検索領域が指定されていない場合、プログラムは画像全体を対象に object を検索します。

各 検索制約 は半平面を指定します。半平面と画像の intersection によって、検索領域の長方形部分が生成されます。すべての 検索制約 と画像との intersection によって、要素の検索領域が生成されます。

検索領域の 境界 は、**Element boundary** プロパティと **Offset** プロパティを使用すると、より正確に指定できます。

<div id="the-element-boundary-property">
  ### Element boundary プロパティ
</div>

**Element boundary** プロパティは、要素の上端、下端、左端、または右端を基準に、検索領域の境界を指定します。既定では、このプロパティは `<whole>` に設定されています。

相対検索領域の計算時に、FlexiLayout Studio が **参照要素** プロパティで指定された参照要素を見つけられないことがあります。そのため、計算方法は参照要素が見つかったかどうかによって異なります。

参照要素がオプションで、画像上のどのオブジェクトもその要素で指定された条件を満たさない場合は、ヌル仮説が作成されます。このヌル仮説の領域は、その要素の検索領域を囲む長方形と一致します。

参照要素が見つかった場合、仮説の領域は、その仮説に含まれる検出されたオブジェクトの領域から構成され、要素の検索領域内に配置されます。

参照要素が見つかっていて、**Element boundary** が `<whole>` に設定されている場合、**Right of** 制約は「参照要素の右境界より右」、**Left of** 制約は「参照要素の左境界より左」を意味します。以下同様です (つまり、仮説を基準にします) 。

参照要素の仮説が作成されない場合、その要素は参照要素の検索領域内であればどこにでも配置できますが、その外側には配置できません。

この場合、**Right of** 制約は「参照要素の仮説が存在し得る任意の領域より右」を意味します。数学的には、これは「参照要素の検索領域の左境界より右」を意味します。同様に、**Left of** 制約は「右境界より左」、**Below** 制約は「上境界より下」、**Above** 制約は「下境界より上」を意味します。

**Element boundary** が特定の値 (**Left**、**Top**、**Right**、または **Bottom**) に設定されている場合、検索領域は、仮説が見つかったかどうかにかかわらず、参照要素の仮説のその境界を基準に計算されます。たとえば、仮説が見つからなかった場合、**Element boundary** を **Right** に設定した **Right of** 制約は、「参照要素の検索領域の右境界より右」を意味します。

<div id="the-offset-property">
  ### Offset プロパティ
</div>

**Offset** プロパティは、検索領域 の境界を指定した距離だけ移動します。**Offset** の値が正の場合、境界は **Relation** プロパティで指定された方向と同じ方向に移動します。**Offset** の値が負の場合、境界は反対方向に移動します。

たとえば、FlexiLayout に **固定テキスト** 型の **YourPlanetName** 要素があり、画像上の YOUR PLANET NAME: という field名を検出するとします。目的は、この field に入力されたテキスト (この場合は "MARS (satellite Phobos)") を見つけることです。

**文字列** 型の **Planet** 要素を作成し、**YourPlanetName** 要素の右側にある 検索領域 を指定します。つまり、**Element boundary** プロパティを **Right of** に設定します。次の図は、検索領域 の位置を示しています。

<Frame>
  <img src="https://mintcdn.com/abbyy/lqYknuOmCa79141v/images/flexi-capture/fls/SearchArea_I.gif?s=dccbc554db58e2b83a577c8dfbce23f2" alt="YourPlanetName 要素の右側にある 検索領域 を示す図" width="290" height="27" data-path="images/flexi-capture/fls/SearchArea_I.gif" />
</Frame>

検索領域 の境界を右へ、つまり **Right of** リレーションと同じ方向に移動します。これを行うには、たとえば 200 のような正の **Offset** 値を選択します。次の図は、移動後の境界の位置を示しています。

<Frame>
  <img src="https://mintcdn.com/abbyy/lqYknuOmCa79141v/images/flexi-capture/fls/SearchArea_II.gif?s=468f7adfa95f3d90fb1f2bc998decfbd" alt="正の Offset 値によって右に移動した 検索領域 の境界を示す図" width="299" height="37" data-path="images/flexi-capture/fls/SearchArea_II.gif" />
</Frame>

次に、検索領域 の境界を左へ、つまり **Right of** リレーションとは反対方向に移動します。これを行うには、たとえば -200 のような負の **Offset** 値を選択します。次の図は、移動後の境界の位置を示しています。

<Frame>
  <img src="https://mintcdn.com/abbyy/lqYknuOmCa79141v/images/flexi-capture/fls/SearchArea_III.gif?s=b06c160ef3ebe156d928f735dc447ba6" alt="負の Offset 値によって左に移動した 検索領域 の境界を示す図" width="306" height="39" data-path="images/flexi-capture/fls/SearchArea_III.gif" />
</Frame>

<div id="select-the-element-located-closest-to-a-certain-object">
  ## 特定のオブジェクトに最も近い要素を選択する
</div>

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

<div id="view-a-search-area">
  ## 検索領域を表示する
</div>

リレーションのプロパティを編集するか、**Relations** テーブルでリレーションを選択すると、そのリレーションが **Image** ウィンドウに表示されます。複数のリレーションを選択すると、それらの共通部分が表示されます。**Reference layout** モードでは、Image ウィンドウ内でオフセット境界をマウスで直接ドラッグして、オフセット値を変更することもできます。

FlexiLayout のマッチング時には、FlexiLayout Studio はまず、指定されたすべての制約に基づいて要素の検索領域を計算します。次に、検索領域内にある画像オブジェクトが要素と同じプロパティを持っているかどうかを確認します。

FlexiLayout のマッチングで誤ったオブジェクトが見つかった場合は、要素の検索領域を確認することで、その理由を把握できます。

FlexiLayout のマッチング後に要素の検索領域を表示するには、その要素に対応する仮説を右クリックし、ショートカット メニューの **Show Search Area** を選択します。検索領域が **Image** ウィンドウに表示されます。

<div id="related-topics">
  ## 関連トピック
</div>

* [検索制約](/ja/flexi-capture/fls/template/basic-constraints)
* [相対検索領域](/ja/flexi-capture/fls/template/relations)
* [繰り返しグループのインスタンスを参照要素、除外要素、またはソース要素として使用する](/ja/flexi-capture/fls/template/select-repeatable-group)
* [追加の検索制約](/ja/flexi-capture/fls/template/advanced-constraints)
