Q.点線が読み取られてしまい、誤読が発生しました。除去する方法はないでしょうか?

A.点線が除去されるようにパラメータ調整を行う必要があります。
・「点線除去を行う最短の長さ(HOUGH_THRESHOLD)」を調整する
・「細かいノイズ除去の閾値(幅)(高さ)」、「細かいノイズ除去の縮小フィルタ(幅)(高さ)」を調整する
上記2点の方法があります。2点ともControlPanelで設定が可能です。

「点線除去を行う最短の長さ(HOUGH_THRESHOLD)」で調整

AIReadでは文字を認識する前に、画像処理で点線を除去する処理を行っております。
その際、除去の対象となるのは、設定された長さよりも長い点線が除去対象です。
指定する際の単位はピクセルで指定します。

「点線除去を行う最短の長さ(HOUGH_THRESHOLD)」の閾値に500が指定されている場合は、500ピクセルよりも
長い点線全てが除去対象となります。
また、500ピクセルよりも短い点線は除去対象とならず、読み取りの対象になります。

※0が指定されていた場合は、文字高さ平均の1.5倍の長さの点線が除去されます。
 閾値は大きすぎる場合、点線の除去ができなくなりますが、閾値を下げすぎると文字の一部が除去の対象になってしまうことがあり

 ます。
 「点線除去を行う最短の長さ(HOUGH_THRESHOLD)」の閾値が低すぎると、「直線除去を行う最短の長さ
 (LINE_REMOVAL_THRESHOLD)」以上に、文字の一部を除去対象と認識しやすくなるので、ご注意ください。

「細かいノイズ除去の閾値(幅)(高さ)」、「細かいノイズ除去の縮小フィルタ(幅)(高さ)」を調整

下記の画像のように、点と点の距離が離れていたり、点線が細かい場合、罫線除去できずOCRがかかってしまうことがあります。

その際は、「細かいノイズ除去の閾値(幅)(高さ)」、「細かいノイズ除去の縮小フィルタ(幅)(高さ)」を調整し、点線をノイズとして除去する必要があります。
ノイズ除去の詳細は、こちらを参照

ControlPanel > 画像処理 > 細かいノイズ除去の閾値(幅) の値を3、
ControlPanel > 画像処理 > 細かいノイズ除去の閾値(高さ)、細かいノイズ除去の縮小フィルタ(幅)(高さ)をそれぞれ0とします。

「細かいノイズ除去の閾値(幅) の値」を3 としたことで、幅3px以下の大きさがノイズとして除去されます。
「細かいノイズ除去の縮小フィルタ(幅)(高さ)」の値を0としない場合、ノイズにも縮小フィルタがかかってしまうため、0に設定する必要があります。
※ノイズのサイズの測り方は、こちらを参照

「細かいノイズ除去の閾値(幅)(高さ)」、「細かいノイズ除去の縮小フィルタ(幅)(高さ)」のパラメータ調整を行った上で、読み取りを行うと点線が除去できていることが確認できます。


直線除去についてはこちらをご参照ください。