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. フォーマット定義の追加

フォームを追加 を選択すると、ダイアログが表示されます。
ダイアログ上で、任意のフォーマット定義名(フォーム名)の指定と定義のテンプレート(下地)とする画像の登録を行います。

No.項目名説明
1フォーム名追加するフォーマット定義名
2登録画像フォーマット定義で使用するテンプレート画像

3.2.3. フォーマット定義の自動作成

フォームの追加時に選択した画像のフォーマット定義を自動作成することができます。
フォーマット定義の自動作成を行う場合は、定義自動作成 にチェックを入れます。

3.2.3.1. 定義自動作成

No.項目名説明
1フォーム名追加するフォーマット定義名
2登録画像(記入例)フォーマット定義で使用するテンプレート画像
記入済みの画像を指定する
3テンプレート画像(未記入例)定義自動作成で使用する画像
未記入の画像を指定する
4作成ルール定義自動作成時に使用する作成ルールを指定する
指定可能な作成ルールは下記3パターンから選択

-テンプレート画像内の全ての矩形を検知し、項目として定義する
-テンプレート画像内から、登録画像が空白の項目を除く矩形を検知し、項目として定義する
-テンプレート画像と登録画像で差分のある矩形、および空白の矩形を検知し、項目として定義す
5ずれ修正(px)ずれ修正を行える大きさを指定する値
値はピクセルで指定

定義自動作成時に登録画像と補正画像を比較して、ずれ修正を行う
ずれ修正は上下左右で一番差のすくないところに修正を行う
6空白項目判定閾値記載済みの項目か空白項目かを判定するための閾値
指定した値が、黒ピクセルの総数を項目自体(セル)の面積で割った割合を超えていれば、記入済み項目として判定する

記入済み判定:空白項目判定閾値 ≧ 黒ピクセルの総数 / セルの面積
空白判定:空白項目判定閾値 ≦ 黒ピクセルの総数 / セルの面積
3.2.3.2. 画像内の全ての矩形を検知して、項目として自動定義する場合

画像上の青枠で表示された項目を読み取り項目として、自動定義されます。

3.2.3.3. 画像内の空白項目を除いて、項目を自動定義する場合

画像上の青枠で表示された項目を読み取り項目として、自動定義されます。

3.2.3.4. テンプレート画像と登録画像で差分のある矩形、および空白の矩形を検知して項目を自動定義する場合

画像上の青枠で表示された項目を読み取り項目として、自動定義されます。

3.2.4. フォーマット定義の操作

3.2.4.1. フォーマット定義を選択する

フォーマット定義名を選択すると、定義済みの設定を確認・編集できます。

3.2.4.2. フォーマット定義をコピーする

任意のフォーマット定義名上でマウスを右クリックするとメニューが表示されます。

メニューから コピー を選択するとダイアログが表示されます。

新たに任意のフォーマット定義名を入力し コピー を押下すると、フォーマット定義が複製されます。

3.2.4.3. フォーマット定義を保存する

保存 を押下すると、編集済みのフォーマット定義が保存されます。

3.2.5. 共通設定ファイルの指定

AIReadの実行、後処理設定ファイルの紐づけ、個別設定時に使用する共通設定ファイルを指定します。
「共通設定ファイル」ボタンを押すと、ファイル選択ダイアログを表示します。

「参照」ボタンから使用する共通設定ファイルを選択します。

3.2.6. フォーマットの定義方法

3.2.6.1. 位置合せの定義

解像度等の違いにより、テンプレート画像をもとに設定したフォーマット定義と実際の画像でおきる位置ずれを補正します。
帳票内の最も大きい矩形を自動認識し、読み取り前に画像を拡大・縮小させます。

No.項目名説明
1位置合せ定義位置合せ定義画面を表示
2位置合せ方法(1) 位置合わせなし
 位置合わせを実施しない
(2) 大きな矩形で位置を合わせる
 画像に含まれる一番大きな矩形を認識し位置合わせの基準として設定する
 設定手順:
  (ア) 認識 ボタンを押下する
  (イ) 位置合わせの基準となる最大矩形が検知される(数秒かかる)
(3) 外接矩形を自動検知し位置を合わせる
  (ア) 認識 ボタンを押下する
  (イ) 外接矩形に合わせて位置合わせの基準が検知される(数秒かかる)
(4) 四隅のタイミングマークで位置を合わせる
  (ア) 認識 ボタンを押下する
  (イ) タイミングマークに合わせて位置合わせの基準が検知される(数秒かかる)
(2)大きな矩形で位置を合わせる
(3) 外接矩形を自動検知し位置を合わせる
(4) 四隅のタイミングマークで位置を合わせる

位置合わせを行う際には、共通設定ファイルが必要となります。
「共通設定ファイル」ボタンで指定した共通設定ファイルが存在しない場合は、「認識」ボタンを押下できなくなります。

3.2.6.2. 読み取り範囲の設定

帳票上の読み取り範囲、読み取り方法、項目名を設定します。

No.項目名説明
1モード切替「選択モード」と「作成モード」を切り替える
・作成:読取範囲を新規で作成する
・選択:設定済みの項目を選択して修正する
2元に戻す・やり直し操作を1つ戻す(やり直す)
3下にコピー・右にコピー選択中の項目を下(右)にコピーする
項目名、グループ名、レコードIDの末尾が半角数字の場合は1加算される(オートフィル)
4画像変更テンプレート画像を変更する
5個別設定の呼出開いているフォーマット定義専用の個別設定画面を起動する
3.7. 個別設定 を参照
6左・右に90度回転表示中の画像を左(右)に90度回転する
7項目名読み取り結果ファイルに出力する項目名
設定された順番にCSVファイルに出力される
8モデル「活字」、「手書き」、「チェックマーク」、「丸囲み」、「バーコード」、「画像抽出」のいずれかを表示
「手書き」の場合は指定した言語も表示される
9グループ名表など同一グループとして扱いたいときに指定するグループ名
10レコードID表などで同一行として扱いたいときに指定するレコードID
11移動・削除選択中の項目を上下に移動・削除する
12編集選択中の作成済みの読み取り範囲の設定画面を開く
読み取り範囲を複数選択している場合は、一括変更が可能

一括変更時の設定は、変更しない からチェックを外すことで編集が可能になります。

3.2.7. 読取定義の設定

「作成モード」で読み取り範囲を指定した場合、および読取項目をダブルクリックしたときに開きます。

3.2.7.1. 読み取り方法がOCR
No.項目名説明
1項目名読み取り結果ファイルに出力する項目名
設定された順番にCSVファイルに出力される
2グループ表など同一グループとして扱いたいときに指定するグループ名
3レコード表などで同一行として扱いたいときに指定するレコードID
4読み取り方法「OCR」を選択する
5使用するモデル「活字」または「手書き」を選択する
「手書き」の場合は「言語」と「文字数」、「区切り線」の指定が可能
6言語使用するモデルが「手書き」のときに指定が可能
読み取り範囲で使用する手書き学習モデルを指定する
【言語一覧】
・日本語 :数字、ローマ字、記号、カタカナ、ひらがな、常用漢字を学習したモデル
・名前  :カタカナ、ひらがな、人名漢字、常用漢字の一部を学習したモデル
・住所  :数字、ローマ字、カタカナ、ひらがな、住所漢字を学習したモデル
・カタカナ:カタカナを学習したモデル
・英語  :数字、ローマ字、記号を学習したモデル
・数字  :数字を学習したモデル
・通貨  :数字、記号($、¥、マイナス、カンマ、ピリオド)を学習したモデル
・数値・電話番号:数字、記号(マイナス、カンマ、括弧、括弧閉じ)を学習したモデル
設定なしの場合は共通設定の「手書き用OCRモデル」で設定したモデルを使用する
7個別読取結果変換AIRead ContorolPanel で作成した後処理設定ファイルと読み取り項目を紐づける
※後処理の設定方法は、3.6. 後処理設定に記載
8文字数使用するモデルが「手書き」のときに指定が可能
読み取り範囲の文字数が「複数」か「1文字」かを指定する
言語項目で「数値・電話番号」を選択した場合は、複数文字に固定される
9区切り線の数読み取り範囲内にある桁や文字の区切り線(点線)を除去するための本数を指定する
指定された数分の罫線除去を行う(区切り線が等間隔に並んでいる前提
※「手書き」の場合、「文字数」が「複数」の場合のみ設定可能
10-1ずれ修正ずれ修正を「する」、「しない」を指定する
10-2基準ずれ修正の基準を「セル」か「文字列」から選択する
・セル :読み取り範囲に最も近いセル(矩形)に読み取り位置を修正する
・文字列:読み取り範囲と重なる文字列を対象に読み取り位置を修正する
11対象
(基準が「セル」の時)
ずれ修正の対象となるセルに合わせる修正方向を「左」、「右」、「上」、「下」で指定する
複数選択した場合は、複数方向に位置修正を行う
※仕様の詳細は、3.3.3.1ずれ修正(セルに合わせる場合)について に記載
12方法
(基準が「文字列」の時)
ずれ修正の対象となる文字列に対して行う修正の方法を「移動」か「拡張」で指定する
※仕様の詳細は、3.3.3.2ずれ修正(文字列に合わせる場合)について に記載
13X読み取り範囲の左上のX座標(ピクセル)
14Y読み取り範囲の左上のY座標(ピクセル)
15読み取り範囲の幅(ピクセル)
16高さ読み取り範囲の高さ(ピクセル)
3.2.7.2. 読み取り方法が チェック判定
No.項目名説明
1項目名読み取り結果ファイルに出力する項目名
設定された順番にCSVファイルに出力される
2グループ表など同一グループとして扱いたいときに指定するグループ名
3レコード表などで同一行として扱いたいときに指定するレコードID
4読み取り方法「チェック判定」を選択する
5読み取り対象「チェックマーク」または「丸囲み」を選択する
【読み取り対象一覧】
・チェックマーク:レ点の有無を判定する
・丸囲み:丸囲みや塗りつぶしを判定する
 テンプレートの画像と読取画像を比較し、読み取り範囲の黒色が「6. 閾値」で指定した割合以上のときにチェックがされたと判定する
6出力方法「標準」もしくは「個別指定」を選択する
・標準:結果を「true」「false」で出力する
・個別指定:結果を入力した任意の値で出力する
7閾値テンプレート画像に対する黒領域の割合(パーセント)
※「5. 読み取り対象」が丸囲みの時のみ設定
8X読み取り範囲の左上のX座標(ピクセル)
9Y読み取り範囲の左上のY座標(ピクセル)
10読み取り範囲の幅(ピクセル)
11高さ読み取り範囲の高さ(ピクセル)
3.2.7.3. 「読み取り方法」が バーコード
No.項目説明
1項目名読み取り結果ファイルに出力する項目名
設定された順番にCSVファイルに出力される
2グループ表など同一グループとして扱いたいときに指定するグループ名
3レコード表などで同一行として扱いたいときに指定するレコードID
4読み取り方法「バーコード」を選択する
※対応しているバーコードは(NW-7)
5X読み取り範囲の左上のX座標(ピクセル)
6Y読み取り範囲の左上のY座標(ピクセル)
7読み取り範囲の幅(ピクセル)
8高さ読み取り範囲の高さ(ピクセル)
3.2.7.4. 「読み取り方法」が QRコード
No.項目説明
1項目名読み取り結果ファイルに出力する項目名
設定された順番にCSVファイルに出力される
2グループ表など同一グループとして扱いたいときに指定するグループ名
3レコード表などで同一行として扱いたいときに指定するレコードID
4読み取り方法「QRコード」を選択する
5QRコードの数読み取り範囲内で認識させたいQRコードの数を指定する
6X読み取り範囲の左上のX座標(ピクセル)
7Y読み取り範囲の左上のY座標(ピクセル)
8読み取り範囲の幅(ピクセル)
9高さ読み取り範囲の高さ(ピクセル)
3.2.7.5. 「読み取り方法」が 固定値
No.項目説明
1項目名読み取り結果ファイルに出力する項目名
2グループ表など同一グループとして扱いたいときに指定するグループ名
3レコード表などで同一行として扱いたいときに指定するレコードID
4読み取り方法「固定値」を選択する
5固定値出力させたい値を直接入力する

3.3. フォーマット定義ファイル

帳票の位置を合わせるための情報、出力ファイルに記載する情報、OCRで読み取る位置の情報はフォーマット定義ファイルで設定します。
ファイルはタブ区切りで記載します。
1列目のセクションIDの値によって、2列目以降の記載方法が異なります。

項目名書式説明
セクションID0位置合わせ情報
1出力情報(固定値)
2OCR情報
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セクションID0必須 
2width整数必須ベースとなる画像サイズの幅
3height整数必須ベースとなる画像サイズの高さ
4x1整数必須ベースとなる矩形の左上の点のx座標
5y1整数必須ベースとなる矩形の左上の点のy座標
6x2整数必須ベースとなる矩形の右上の点のx座標
7y2整数必須ベースとなる矩形の右上の点のy座標
8x3整数必須ベースとなる矩形の左下の点のx座標
9y3整数必須ベースとなる矩形の左下の点のy座標

※位置合わせ情報は省略可です。省略した場合、位置合わせは行われず絶対座標で抽出します。

■位置合わせイメージ

画像内の最大の矩形を検知し、左上・右上・左下の3点を基点に位置を合わせます。

3.3.2. 出力情報(固定値)

No.項目名書式必須説明
1セクションID1必須 
2シーケンス番号整数 (使用しない)
3項目名文字列必須出力情報に記載する項目名
4文字列必須出力する文字列
5グループID文字列グループID(明細・表の名前)を指定
アウトプット時に使用
6レコードID整数レコードID(明細の行番号)を指定
アウトプット時に使用

3.3.3. 出力情報(OCR)

No.項目名書式必須説明
1セクションID2必須 
2シーケンス番号整数 (使用しない)
3グループID文字列 グループID(明細・表の名前)を指定
アウトプット時に使用
4レコードID整数 レコードID(明細の行番号)を指定
アウトプット時に使用
5x整数必須読取範囲の基準となる座標(左上の点)のx座標
6y整数必須読取範囲の基点となる座標(左上の点)のy座標
7width整数必須読取範囲の幅
8height整数必須読取範囲の高さ
9type0, 1必須0 : 活字
1 : 手書き
手書きはコロン(:)区切りで項目ごとにOCRモデルを指定する
指定がない場合、ControlPanelの手書き用OCRモデルを使用する
指定例)1:number
10length0以上の整数必須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セクションID3 または 4必須3 : テンプレート画像との差分で判定
4 : レ点で判定
2シーケンス番号 (使用しない)
3グループID文字列 グループID(明細・表の名前)を指定
アウトプット時に使用
4レコードID整数 レコードID(明細の行番号)を指定
アウトプット時に使用
5x整数必須読取範囲の基準となる座標(左上の点)のx座標
6y整数必須読取範囲の基点となる座標(左上の点)のy座標
7width整数必須読取範囲の幅
8height整数必須読取範囲の高さ
9type0必須 
10length0~1000必須(セクションID=3のときのみ)
テンプレート領域に対する黒領域の割合(%)
11フィールドID文字列必須項目名

3.3.5. 出力情報(バーコード)

No.項目名書式必須説明
1セクションID6必須
2シーケンス番号(使用しない)
3グループID文字列グループID(明細・表の名前)を指定
4レコードID整数レコードID(明細の行番号)を指定
5x整数必須読取範囲の基準となる座標(左上の点)のx座標
6y整数必須読取範囲の基点となる座標(左上の点)のy座標
7width整数必須読取範囲の幅
8height整数必須読取範囲の高さ
9type文字列バーコードの形式を指定
(未指定の場合 NW7)
10length(使用しない)
11ItemName文字列必須項目名