Skip to main content
Recipe # field には常に 1 行が含まれます。field 名とは異なり、その値は固定ではないため、Character String 要素として定義します。
1

Character String 要素を作成する

Character String 型の要素を作成し、RecipeNumber と名前を付けます。
ABBYY FlexiLayout Studio の SearchElements.RecipeNumber の Properties ダイアログの General タブを示すスクリーンショット。RecipeNumber という名前の要素が表示され、オプション要素としてマークされています。
2

Character String タブを開きます

Character String タブをクリックします。
ABBYY FlexiLayout Studio の[Properties of SearchElements.RecipeNumber]ダイアログにある[Character String]タブのスクリーンショット。[Alphabets]リストには数字と大文字のアルファベットが表示されています。
3

アルファベットを設定する

アルファベットとは、レシピ番号に使用される可能性があるすべての文字のことです。テスト画像では、数字と大文字の英字が特定の順序なしで使用されています。設定するには、Add… をクリックし、Add New Alphabet ダイアログで必要な文字を選択します。
ABBYY FlexiLayout Studio の Add New Alphabet ダイアログのスクリーンショット。数字と大文字の英字が選択され、文字プレビュー field に表示されています。
選択した文字は、Character String タブの Alphabets field にある Character Set column に表示されます。
4

アルファベット文字の割合を設定します

アルファベット文字の割合 fieldに1を入力します。すると、FlexiLayout StudioはRecipeNumber objectの検索時に、このelementの文字だけを考慮します。
1つのelementに複数のアルファベットを指定できます。アルファベット文字の割合 fieldには、各アルファベットに含まれる文字の最大割合を指定します。
5

埋め込み仮説を無効にする

Allow embedded hypotheses チェックボックスをオフにします。これにより、FlexiLayout Studio はすべての検索条件を満たす最長の仮説を生成できます。オフにしない場合、非アルファベット文字の許容割合の範囲内で、選択したアルファベットの一部から複数の埋め込み仮説が生成されることがあります。
6

アルファベット以外の文字の割合を設定

Percentage of non-alphabet characters fieldで、最大値を20%に設定します。この値は試行錯誤しながら設定してください。FlexiLayoutの調整時に後から変更できます。
7

文字数を設定する

Character count fieldで、次のあいまいな範囲を指定します:{0, 8, 10, 16}。レシピ番号は8桁ですが、余裕を持たせるため、8~10の範囲を許容します。範囲外の仮説にはペナルティが課されます。この値は試行錯誤で設定してください。FlexiLayoutを調整する際に、後から変更できます。
8

[Relations]タブを開きます

Relations タブをクリックします。
ABBYY FlexiLayout Studio の SearchElements.RecipeNumber のプロパティダイアログにある Relations タブのスクリーンショット。要素を Recipe 要素に関連付ける Above、Below、RightOf リレーションが表示されています。
9

参照要素を設定する

Recipe 要素を RecipeNumber 要素の参照要素として使用します。レシピ番号は常に field name と同じ高さで、その右側に表示されます。field name と、その上境界および下境界を基準に要素の位置を指定します。そうしない場合、FlexiLayout Studio は、field name の上または下にあるものも含め、アルファベット内の任意のテキストフラグメントを有効な仮説として扱います。
10

要素を参照の右側に配置します

RecipeNumber 要素が、Recipe 要素の右境界の右側にあるよう指定します。
  1. Add をクリックします。
  2. 開いたダイアログの Reference element field で Recipe を選択します。
  3. Type ドロップダウンリストで Right of を選択します。Reference boundary ドロップダウンリストで Right を選択し、Offset の値は既定値の 0 のままにします。
  4. Add Relation をクリックします。
ABBYY FlexiLayout Studio の RecipeNumber 用 Add New Relation ダイアログ。参照要素として Recipe が設定され、リレーション型として Right of が選択され、参照境界として Right が選択されています。
11

検索領域の下端を設定します

RecipeNumber 要素が Recipe 要素より下に配置されないように指定します。
  1. Add をクリックします。
  2. 開いたダイアログで、Reference element field に Recipe を選択します。
  3. Type ドロップダウンリストで Above を選択し、Offset を -50 に設定します (試行錯誤で決定) 。
  4. Add Relation をクリックします。
これにより、FlexiLayout Studio は field name を基準に要素を特定する際に柔軟に対応できます。Offset の値が負の場合、要素の下側の境界は名前の下側の境界より下にあることを示します。
12

検索領域の上端を設定します

RecipeNumber 要素が Recipe 要素より上にないよう指定します。
  1. Add をクリックします。
  2. 開いたダイアログで、Reference element fieldの Recipe を選択します。
  3. Type ドロップダウンリストで Below を選択し、Offset を -50 に設定します (試行錯誤で決定) 。
  4. Add Relation をクリックします。
これにより、FlexiLayout Studio はfield名を基準とした要素の位置特定にある程度の柔軟性を持たせることができます。負の Offset 値は、要素の上端境界が名前の上端境界より上にあることを意味します。
テスト画像に対してFlexiLayoutをマッチングし、FlexiLayout Studioがすべての画像でレシピ番号を検出できることを確認します。

Reference boundary fieldの仕組み

Reference boundary fieldは、正のOffset値によるsearch areaの制約方法を決定します。
  • <whole>を選択すると、正のOffset値で指定できる位置は次のとおりです。
    • 要素の右境界より右側
    • 要素の左境界より左側
    • 要素の上境界より上側
    • 要素の下境界より下側
  • TopおよびBottomを選択すると、正のOffset値によって要素の上境界と下境界でsearch areaが制限され、field nameの左境界と右境界を超える仮説は除外されます。