Package com.nefrock.edgeocr
Class OrientationSettings
java.lang.Object
com.nefrock.edgeocr.OrientationSettings
ドキュメントの向きに関する設定を表す構造体
切り取った領域をモデルに渡す前に回転させます。フレーム内で正立していない ドキュメントを読み取るために使用します。
モードは2つあります。
- 固定角度:
autoDetectが false のとき、fixedRotationを 毎フレーム適用します。ドキュメントの向きが既知の場合に使用します。 - 自動判定:
autoDetectが true のとき、向き判定モデルが毎フレーム 角度を決めます。fixedRotationは無視されます。ロードするモデルが 向き判定モデルを参照している必要があります。
いずれの場合も検出結果の座標は回転を打ち消した表示空間で返るため、 オーバーレイ描画のコードを変更する必要はありません。
-
Constructor Summary
ConstructorsConstructorDescriptionOrientationSettings(Rotation fixedRotation, boolean autoDetect, int nToConfirm, int checkAfterFrames, ExecutionSettings executionSettings) ドキュメントの向きの設定を初期化する -
Method Summary
Modifier and TypeMethodDescriptionbooleanintintvoidsetAutoDetect(boolean autoDetect) 向き判定モデルに角度を任せるかどうかを設定する。 true にする場合、ロードするモデルが向き判定モデルを参照している必要があります。 参照していないモデルで true にするとモデルのロードに失敗します。voidsetCheckAfterFrames(int checkAfterFrames) 向き判定を実行する間隔(フレーム数)を設定する。 間のフレームでは直前の判定結果を再利用します。voidsetExecutionSettings(ExecutionSettings executionSettings) 向き判定モデルの実行設定を設定する。 既定は CPU です。向き判定モデルは小さいため、GPUデリゲートの初期化コストの方が 推論時間の短縮を上回ります。voidsetFixedRotation(Rotation fixedRotation) 自動判定が無効なときに適用される回転角度を設定するvoidsetNToConfirm(int nToConfirm) 新しい向きを採用するまでに連続で一致する必要があるフレーム数を設定する。 1 にすると判定結果を毎回そのまま採用します。値を大きくすると反応が遅くなる 代わりに安定します。判定が1フレームだけ揺れると認識結果と検出枠が飛ぶため、 既定では 1 より大きい値を使っています。
-
Constructor Details
-
OrientationSettings
public OrientationSettings(Rotation fixedRotation, boolean autoDetect, int nToConfirm, int checkAfterFrames, ExecutionSettings executionSettings) ドキュメントの向きの設定を初期化する- Parameters:
fixedRotation- autoDetect が false のときに適用する回転角度autoDetect- 向き判定モデルに角度を任せるかどうかnToConfirm- 新しい向きを採用するまでに連続で一致する必要があるフレーム数checkAfterFrames- 向き判定を実行する間隔(フレーム数)executionSettings- 向き判定モデルの実行設定
-
-
Method Details
-
getFixedRotation
- Returns:
- 自動判定が無効なときに適用される回転角度
-
setFixedRotation
自動判定が無効なときに適用される回転角度を設定する- Parameters:
fixedRotation- 回転角度
-
getAutoDetect
public boolean getAutoDetect()- Returns:
- 向き判定モデルに角度を任せるかどうか
-
setAutoDetect
public void setAutoDetect(boolean autoDetect) 向き判定モデルに角度を任せるかどうかを設定する。 true にする場合、ロードするモデルが向き判定モデルを参照している必要があります。 参照していないモデルで true にするとモデルのロードに失敗します。- Parameters:
autoDetect- 自動判定を使うかどうか
-
getNToConfirm
public int getNToConfirm()- Returns:
- 新しい向きを採用するまでに連続で一致する必要があるフレーム数
-
setNToConfirm
public void setNToConfirm(int nToConfirm) 新しい向きを採用するまでに連続で一致する必要があるフレーム数を設定する。 1 にすると判定結果を毎回そのまま採用します。値を大きくすると反応が遅くなる 代わりに安定します。判定が1フレームだけ揺れると認識結果と検出枠が飛ぶため、 既定では 1 より大きい値を使っています。- Parameters:
nToConfirm- フレーム数(1未満は1として扱われます)
-
getCheckAfterFrames
public int getCheckAfterFrames()- Returns:
- 向き判定を実行する間隔(フレーム数)
-
setCheckAfterFrames
public void setCheckAfterFrames(int checkAfterFrames) 向き判定を実行する間隔(フレーム数)を設定する。 間のフレームでは直前の判定結果を再利用します。- Parameters:
checkAfterFrames- フレーム数(1未満は1として扱われます)
-
getExecutionSettings
- Returns:
- 向き判定モデルの実行設定
-
setExecutionSettings
向き判定モデルの実行設定を設定する。 既定は CPU です。向き判定モデルは小さいため、GPUデリゲートの初期化コストの方が 推論時間の短縮を上回ります。- Parameters:
executionSettings- 実行設定
-