3.2. AIRead FormEditorで設定
以下のプログラムを起動することで、AIRead FormEditor(以下FormEditor)でフォーマット定義ファイルを編集できます。
<AIReadインストールフォルダ>/FormEditor/AIReadFormEditor.exe
3.2.1. グループの作成・選択
3.2.1.1. グループを作成する
グループを作成 を選択するとダイアログが表示されます。
ダイアログ上でフォーマット定義を保存するフォルダ名を指定し、任意の名称でグループを作成します。
3.2.1.2. グループを選択する
グループを開く を選択すると、フォルダ選択のダイアログが開かれます。
ダイアログから、作成済みのフォーマット定義を保存するフォルダを選択してください。
3.2.2. フォーマット定義の追加
3.2.2.1. フォーマット定義を追加する
フォームを追加 を選択すると、ダイアログが表示されます。
ダイアログ上で、任意のフォーマット定義名(フォーム名)の指定と定義のテンプレート(下地)とする画像の登録を行います。
3.2.2.2. フォーマット定義を選択する
フォーマット定義名を選択すると、定義済みの設定を確認・編集できます。
3.2.2.3. フォーマット定義をコピーする
任意のフォーマット定義名上でマウスを右クリックするとメニューが表示されます。
メニューから コピー を選択するとダイアログが表示されます。
新たに任意のフォーマット定義名を入力し コピー を押下すると、フォーマット定義が複製されます。
3.2.2.4. フォーマット定義を保存する
保存 を押下すると、編集済みのフォーマット定義が保存されます。
3.2.3. 共通設定ファイルの指定
AIReadの実行、後処理設定ファイルの紐づけ、個別OCR設定時に使用する共通設定ファイルを指定します。
「共通設定ファイル」ボタンを押すと、ファイル選択ダイアログを表示します。
「参照」ボタンから使用する共通設定ファイルを選択します。
3.2.4. フォーマットの定義
3.2.4.1. 位置合せの定義
解像度等の違いにより、テンプレート画像をもとに設定したフォーマット定義と実際の画像でおきる位置ずれを補正します。
帳票内の最も大きい矩形を自動認識し、読み取り前に画像を拡大・縮小させます。
No. | 項目名 | 説明 |
1 | 位置合せ定義 | 位置合せ定義画面を表示 |
2 | 位置合せ方法 | (1) 位置合わせなし 位置合わせを実施しない (2) 大きな矩形で位置を合わせる 画像に含まれる大きな矩形を認識し位置合わせの基準として設定する 設定手順: (ア) 認識 ボタンを押下する (イ) 位置合わせの基準となる矩形が検知される(数秒かかる) (3) 四隅のタイミングマークで位置を合わせる (ア) 認識 ボタンを押下する (イ) タイミングマークに合わせて位置合わせの基準が検知される(数秒かかる) |
位置合わせを行う際には、共通設定ファイルが必要となります。
「共通設定ファイル」ボタンで指定した共通設定ファイルが存在しない場合は、「認識」ボタンを押下できなくなります。
3.2.4.2. 読み取り範囲の設定
帳票上の読み取り範囲、読み取り方法、項目名を設定します。
No. | 項目名 | 説明 |
1 | モード切替 | 「選択モード」と「作成モード」を切り替える ・作成:読取範囲を新規で作成する ・選択:設定済みの項目を選択して修正する |
2 | 元に戻す・やり直し | 操作を1つ戻す(やり直す) |
3 | 下にコピー・右にコピー | 選択中の項目を下(右)にコピーする 項目名、グループ名、レコードIDの末尾が半角数字の場合は1加算される(オートフィル) |
4 | 画像変更 | テンプレート画像を変更する |
5 | 個別設定の呼出 | 開いているフォーマット定義専用の個別設定画面を起動する 3.7. 個別OCR設定を参照 |
6 | 左・右に90度回転 | 表示中の画像を左(右)に90度回転する |
7 | 項目名 | 読み取り結果ファイルに出力する項目名 設定された順番にCSVファイルに出力される |
8 | モデル | 「活字」、「手書き」、「チェック判定」のいずれかを表示 「手書き」の場合は指定した言語も表示される |
9 | グループ名 | 表など同一グループとして扱いたいときに指定するグループ名 |
10 | レコードID | 表などで同一行として扱いたいときに指定するレコードID |
11 | 移動・削除 | 選択中の項目を上下に移動・削除する |
3.2.4.3. 固定値の設定
固定値(必須出力)項目を設定します。
No. | 項目名 | 説明 |
1 | 項目名 | 固定値の項目名 |
2 | 値 | 固定値の値 |
3 | グループ | 表など同一グループとして扱いたいときに指定するグループ名 |
4 | レコード | 表などで同一行として扱いたいときに指定するレコードID |
3.2.5. 読取定義の設定
「作成モード」で読み取り範囲を指定した場合、および読取項目をダブルクリックしたときに開きます。
3.2.5.1. 読み取り方法がOCR
No. | 項目名 | 説明 |
1 | 項目名 | 読み取り結果ファイルに出力する項目名 設定された順番にCSVファイルに出力される |
2 | グループ名 | 表など同一グループとして扱いたいときに指定するグループ名 |
3 | レコードID | 表などで同一行として扱いたいときに指定するレコードID |
4 | 読み取り方法 | 「OCR」を選択する |
5 | 使用するモデル | 「活字」または「手書き」を選択する 「手書き」の場合は「言語」と「文字数」、「区切り線」の指定が可能 |
言語 | 使用するモデルが「手書き」のときに指定が可能 読み取り範囲で使用する手書き学習モデルを指定する 【言語一覧】 ・日本語 :数字、ローマ字、記号、カタカナ、ひらがな、常用漢字を学習したモデル ・名前 :カタカナ、ひらがな、人名漢字、常用漢字の一部を学習したモデル ・住所 :数字、ローマ字、カタカナ、ひらがな、住所漢字を学習したモデル ・カタカナ:カタカナを学習したモデル ・英語 :数字、ローマ字、記号を学習したモデル ・数字 :数字を学習したモデル ・通貨 :数字、記号($、¥、マイナス、カンマ、ピリオド)を学習したモデル ・数値・電話番号:数字、記号(マイナス、カンマ、括弧、括弧閉じ)を学習したモデル 設定なしの場合は共通設定の「手書き用OCRモデル」で設定したモデルを使用する | |
7 | 後処理 | AIRead ContorolPanel で作成した後処理設定ファイルと読み取り項目を紐づける ※後処理の設定方法は、3.6. 後処理設定に記載 |
8 | 文字数 | 使用するモデルが「手書き」のときに指定が可能 読み取り範囲の文字数が「複数」か「1文字」かを指定する 言語項目で「数値・電話番号」を選択した場合は、複数文字に固定される |
9 | 区切り線の数 | 読み取り範囲内にある桁や文字の区切り線(点線)を除去するための本数を指定する 指定された数分の罫線除去を行う(区切り線が等間隔に並んでいる前提) ※「手書き」の場合、「文字数」が「複数」の場合のみ設定可能 |
10-1 | ずれ修正 | ずれ修正を「する」、「しない」を指定する |
10-2 | 基準 | ずれ修正の基準を「セル」か「文字列」から選択する ・セル :読み取り範囲に最も近いセル(矩形)に読み取り位置を修正する ・文字列:読み取り範囲と重なる文字列を対象に読み取り位置を修正する |
11 | 対象 (基準が「セル」の時) | ずれ修正の対象となるセルに合わせる修正方向を「左」、「右」、「上」、「下」で指定する 複数選択した場合は、複数方向に位置修正を行う ※仕様の詳細は、3.3.3.1ずれ修正(セルに合わせる場合)についてに記載 |
12 | 方法 (基準が「文字列」の時) | ずれ修正の対象となる文字列に対して行う修正の方法を「移動」か「拡張」で指定する ※仕様の詳細は、3.3.3.2ずれ修正(文字列に合わせる場合)についてに記載 |
13 | X | 読み取り範囲の左上のX座標(ピクセル) |
14 | Y | 読み取り範囲の左上のY座標(ピクセル) |
15 | 幅 | 読み取り範囲の幅(ピクセル) |
16 | 高さ | 読み取り範囲の高さ(ピクセル) |
3.2.5.2. 読み取り方法が チェック判定
No. | 項目名 | 説明 |
1 | 項目名 | 読み取り結果ファイルに出力する項目名 設定された順番にCSVファイルに出力される |
2 | グループ名 | 表など同一グループとして扱いたいときに指定するグループ名 |
3 | レコードID | 表などで同一行として扱いたいときに指定するレコードID |
4 | 読み取り方法 | 「チェック判定」を選択する |
5 | 読み取り対象 | 「チェックマーク」または「丸囲み」を選択する 【読み取り対象一覧】 ・チェックマーク:レ点の有無を判定する ・丸囲み:丸囲みや塗りつぶしを判定する テンプレートの画像と読取画像を比較し、読み取り範囲の黒色が「6. 閾値」で指定した割合以上のときにチェックがされたと判定する |
6 | 閾値 | テンプレート画像に対する黒領域の割合(パーセント) ※「5. 読み取り対象」が丸囲みの時のみ設定 |
7 | X | 読み取り範囲の左上のX座標(ピクセル) |
8 | Y | 読み取り範囲の左上のY座標(ピクセル) |
9 | 幅 | 読み取り範囲の幅(ピクセル) |
10 | 高さ | 読み取り範囲の高さ(ピクセル) |
3.3. フォーマット定義ファイル
帳票の位置を合わせるための情報、出力ファイルに記載する情報、OCRで読み取る位置の情報はフォーマット定義ファイルで設定します。
ファイルはタブ区切りで記載します。
1列目のセクションIDの値によって、2列目以降の記載方法が異なります。
項目名 | 書式 | 説明 |
---|---|---|
セクションID | 0 | 位置合わせ情報 |
1 | 出力情報(固定値) | |
2 | OCR情報 | |
3 | チェックマーク情報(画像差分で判定) | |
4 | チェックマーク情報(✔の形で判定) |
※位置合わせ情報は省略可です。省略した場合、絶対座標で抽出します。
- ファイル名:AIRead_format.ini
- フォーマット定義ファイルイメージ:
ずれ修正なしの場合
0 3307 4676 300 1745 2645 1745 300 4295 1 0 id order 2 0 307 688 510 170 0 0 tok_cd 2 0 307 951 1450 170 0 0 Tel 2 0 307 1207 200 170 0 0 Month 2 0 620 1207 200 170 0 0 Day 2 0 938 1207 85 170 0 0 haikb 2 0 1350 1207 85 170 0 0 timekb 2 0 detail 0 407 1745 627 170 1 0 Itemcd0 2 0 detail 0 2015 1745 623 170 1:number 0 Amount0 2 0 detail 0 2687 1745 314 170 1 0 Wrapping0 2 0 detail 1 407 1915 627 170 1 0 Itemcd1 2 0 detail 1 2015 1915 623 170 1:number 0 Amount1 2 0 detail 1 2687 1915 314 170 1 0 Wrapping1 2 0 detail 2 407 2085 627 170 1 0 Itemcd2 2 0 detail 2 2015 2085 623 170 1:number 0 Amount2 2 0 detail 2 2687 2085 314 170 1 0 Wrapping2 2 0 detail 3 407 2255 627 170 1 0 Itemcd3 2 0 detail 3 2015 2255 623 170 1:number 0 Amount3 2 0 detail 3 2687 2255 314 170 1 0 Wrapping3 2 0 detail 4 407 2425 627 170 1 0 Itemcd4 2 0 detail 4 2015 2425 623 170 1:number 0 Amount4 2 0 detail 4 2687 2425 314 170 1 0 Wrapping4 2 0 detail 5 407 2595 627 170 1 0 Itemcd5 2 0 detail 5 2015 2595 623 170 1:number 0 Amount5 2 0 detail 5 2687 2595 314 170 1 0 Wrapping5 |
ずれ修正ありの場合
1 -1 id order 2 -1 307 688 510 170 0 0 tok_cd 0 1 1 1 1 0 2 -1 307 951 1450 170 0 0 Tel 0 1 1 1 1 1 2 -1 307 1207 200 170 0 0 Month 2 -1 620 1207 200 170 0 0 Day 2 -1 938 1207 85 170 0 0 haikb 2 -1 1350 1207 85 170 0 0 timekb 2 -1 detail 0 407 1745 627 170 1 1 Itemcd 1 1 1 1 1 0 2 -1 detail 0 2015 1745 623 170 1:number 0 Amount 1 1 1 1 1 0 2 -1 detail 0 2687 1745 314 170 1 1 Wrapping 1 1 1 1 1 0 2 -1 detail 1 407 1915 627 170 1 0 Itemcd 1 1 1 1 1 0 2 -1 detail 1 2015 1915 623 170 1:number 0 Amount 1 1 1 1 1 0 2 -1 detail 1 2687 1915 314 170 1 0 Wrapping 1 1 1 1 1 0 2 -1 detail 2 407 2085 627 170 1 0 Itemcd 1 1 1 1 1 0 2 -1 detail 2 2015 2085 623 170 1:number 0 Amount 1 1 1 1 1 0 2 -1 detail 2 2687 2085 314 170 1 0 Wrapping 1 1 1 1 1 0 2 -1 detail 3 407 2255 627 170 1 0 Itemcd 1 1 1 1 1 0 2 -1 detail 3 2015 2255 623 170 1:number 0 Amount 1 1 1 1 1 0 2 -1 detail 3 2687 2255 314 170 1 0 Wrapping 1 1 1 1 1 0 2 -1 detail 4 407 2425 627 170 1 0 Itemcd 1 1 1 1 1 0 2 -1 detail 4 2015 2425 623 170 1:number 0 Amount 1 1 1 1 1 0 2 -1 detail 4 2687 2425 314 170 1 0 Wrapping 1 1 1 1 1 0 2 -1 detail 5 407 2595 627 170 1 0 Itemcd 1 1 1 1 1 0 2 -1 detail 5 2015 2595 623 170 1:number 0 Amount 1 1 1 1 1 0 2 -1 detail 5 2687 2595 314 170 1 0 Wrapping 1 1 1 1 1 0 |
3.3.1. 位置合わせ情報
帳票の中で一番大きな矩形を基準に位置を合わせます。
ベースとなる3点(左上・右上・左下)の位置を定義します。
No. | 項目名 | 書式 | 必須 | 説明 |
---|---|---|---|---|
1 | セクションID | 0 | 必須 | |
2 | width | 整数 | 必須 | ベースとなる画像サイズの幅 |
3 | height | 整数 | 必須 | ベースとなる画像サイズの高さ |
4 | x1 | 整数 | 必須 | ベースとなる矩形の左上の点のx座標 |
5 | y1 | 整数 | 必須 | ベースとなる矩形の左上の点のy座標 |
6 | x2 | 整数 | 必須 | ベースとなる矩形の右上の点のx座標 |
7 | y2 | 整数 | 必須 | ベースとなる矩形の右上の点のy座標 |
8 | x3 | 整数 | 必須 | ベースとなる矩形の左下の点のx座標 |
9 | y3 | 整数 | 必須 | ベースとなる矩形の左下の点のy座標 |
※位置合わせ情報は省略可です。省略した場合、位置合わせは行われず絶対座標で抽出します。
■位置合わせイメージ
画像内の最大の矩形を検知し、左上・右上・左下の3点を基点に位置を合わせます。
3.3.2. 出力情報(固定値)
No. | 項目名 | 書式 | 必須 | 説明 |
---|---|---|---|---|
1 | セクションID | 1 | 必須 | |
2 | シーケンス番号 | 整数 | (使用しない) | |
3 | 項目名 | 文字列 | 必須 | 出力情報に記載する項目名 |
4 | 値 | 文字列 | 必須 | 出力する文字列 |
5 | グループID | 文字列 | グループID(明細・表の名前)を指定 アウトプット時に使用 | |
6 | レコードID | 整数 | レコードID(明細の行番号)を指定 アウトプット時に使用 |
3.3.3. 出力情報(OCR)
No. | 項目名 | 書式 | 必須 | 説明 |
1 | セクションID | 2 | 必須 | |
2 | シーケンス番号 | 整数 | (使用しない) | |
3 | グループID | 文字列 | グループID(明細・表の名前)を指定 アウトプット時に使用 | |
4 | レコードID | 整数 | レコードID(明細の行番号)を指定 アウトプット時に使用 | |
5 | x | 整数 | 必須 | 読取範囲の基準となる座標(左上の点)のx座標 |
6 | y | 整数 | 必須 | 読取範囲の基点となる座標(左上の点)のy座標 |
7 | width | 整数 | 必須 | 読取範囲の幅 |
8 | height | 整数 | 必須 | 読取範囲の高さ |
9 | type | 0, 1 | 必須 | 0 : 活字 1 : 手書き 手書きはコロン(:)区切りで項目ごとにOCRモデルを指定する 指定がない場合、ControlPanelの手書き用OCRモデルを使用する 指定例)1:number |
10 | length | 0以上の整数 | 必須 | typeが 0(活字)の場合 0 : 特別な処理を行わない 2以上 : 指定された数 -1本の区切り罫線を除去する typeが 1(手書き)の場合 0 : 特別な処理を行わない 1 : 指定した範囲の文字を1文字として認識する 2以上 : 指定された数 -1本の区切り罫線を除去する |
11 | フィールドID | 文字列 | 必須 | 項目名 |
12 | ずれ修正 | 0, 1 | 0:文字列でのずれ修正 1:セルでのずれ修正 | |
13 | 修正対象(左) | 0, 1 | ずれ修正が1(セル)の場合のみ有効 0:セルの左辺を基準としたずれ修正をしない 1:セルの左辺を基準としたずれ修正を行う | |
14 | 修正対象(右) | 0, 1 | ずれ修正が1(セル)の場合のみ有効 0:セルの上辺を基準としたずれ修正をしない 1:セルの上辺を基準としたずれ修正を行う | |
15 | 修正対象(上) | 0, 1 | ずれ修正が1(セル)の場合のみ有効 0:セルの上辺を基準としたずれ修正をしない 1:セルの上辺を基準としたずれ修正を行う | |
16 | 修正対象(下) | 0, 1 | ずれ修正が1(セル)の場合のみ有効 0:セルの底辺を基準としたずれ修正をしない 1:セルの底辺を基準としたずれ修正を行う | |
17 | 修正方法 | 0, 1 | ずれ修正が0(文字列)の場合のみ有効 0:文字列を基準として読取位置を移動する 1:文字列を基準として読取位置の拡張をする | |
18 | 属性 | 文字列 | 後処理を行う属性を指定する |
※修正対象(右)、修正対象(左)、修正対象(上)、修正対象(下) は併用可能
3.3.3.1. ずれ修正(セルに合わせる場合)について
セルに合わせるずれ修正を行う場合、下記のルールで行われます。
<合わせる対象>
読み取り範囲に対し、以下の 2つの条件を満たすセルが合わせる対象となります。
1. 読取範囲に対し、セルの面積が30%以上重なっていること
2. 条件1.を満たすセルのうち、読み取り範囲に対して重なっている面積が最大であること
<例外>
修正後のセルの高さが元の読み取り範囲の高さの1.2倍を超える場合、ずれ修正は行われません。
※本機能は軽微な位置ずれを補正するための機能であり、過度なずれ修正は行わなれません
<修正対象(左右上下)について>
修正の対象の選択によって、修正結果が下記の例のように変わります。
ずれ修正の修正対象(左、右)が有効の場合
ずれ修正の修正対象(左右上下)が有効の場合
3.3.3.2. ずれ修正(文字列に合わせる場合)について
文字列に合わせるずれ修正を行う場合、下記のルールで行われます。
<合わせる対象>
読み取り範囲に対し、面積が30%以上重なっている文字列が合わせる対象となります。
<修正方法:移動について>
修正方法に「移動」を指定した場合、読み取り範囲(矩形の形)は変更せず合わせる対象の文字列が入るように読み取り位置を移動させます。
※重なっている文字列の範囲より読み取り範囲が小さい場合は修正しません。
ずれ修正の方法が文字列を基準とした移動の場合
<修正方法:拡張について>
修正方法に「拡張」を選択した場合、読み取り範囲に重なる全文字列が包含できるように読み取り範囲を拡張します。
ずれ修正の方法が文字列を基準とした拡張の場合
3.3.4. 出力情報(チェックマーク)
No. | 項目名 | 書式 | 必須 | 説明 |
1 | セクションID | 3 または 4 | 必須 | 3 : テンプレート画像との差分で判定 4 : レ点で判定 |
2 | シーケンス番号 | (使用しない) | ||
3 | グループID | 文字列 | グループID(明細・表の名前)を指定 アウトプット時に使用 | |
4 | レコードID | 整数 | レコードID(明細の行番号)を指定 アウトプット時に使用 | |
5 | x | 整数 | 必須 | 読取範囲の基準となる座標(左上の点)のx座標 |
6 | y | 整数 | 必須 | 読取範囲の基点となる座標(左上の点)のy座標 |
7 | width | 整数 | 必須 | 読取範囲の幅 |
8 | height | 整数 | 必須 | 読取範囲の高さ |
9 | type | 0 | 必須 | |
10 | length | 0~1000 | 必須 | (セクションID=3のときのみ) テンプレート領域に対する黒領域の割合(%) |
11 | フィールドID | 文字列 | 必須 | 項目名 |