Class OrientationSettings

java.lang.Object
com.nefrock.edgeocr.OrientationSettings

public class OrientationSettings extends Object
ドキュメントの向きに関する設定を表す構造体

切り取った領域をモデルに渡す前に回転させます。フレーム内で正立していない ドキュメントを読み取るために使用します。

モードは2つあります。

  • 固定角度: autoDetect が false のとき、fixedRotation を 毎フレーム適用します。ドキュメントの向きが既知の場合に使用します。
  • 自動判定: autoDetect が true のとき、向き判定モデルが毎フレーム 角度を決めます。fixedRotation は無視されます。ロードするモデルが 向き判定モデルを参照している必要があります。

いずれの場合も検出結果の座標は回転を打ち消した表示空間で返るため、 オーバーレイ描画のコードを変更する必要はありません。

  • Constructor Summary

    Constructors
    Constructor
    Description
    OrientationSettings(Rotation fixedRotation, boolean autoDetect, int nToConfirm, int checkAfterFrames, ExecutionSettings executionSettings)
    ドキュメントの向きの設定を初期化する
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    int
     
     
     
    int
     
    void
    setAutoDetect(boolean autoDetect)
    向き判定モデルに角度を任せるかどうかを設定する。 true にする場合、ロードするモデルが向き判定モデルを参照している必要があります。 参照していないモデルで true にするとモデルのロードに失敗します。
    void
    setCheckAfterFrames(int checkAfterFrames)
    向き判定を実行する間隔(フレーム数)を設定する。 間のフレームでは直前の判定結果を再利用します。
    void
    向き判定モデルの実行設定を設定する。 既定は CPU です。向き判定モデルは小さいため、GPUデリゲートの初期化コストの方が 推論時間の短縮を上回ります。
    void
    setFixedRotation(Rotation fixedRotation)
    自動判定が無効なときに適用される回転角度を設定する
    void
    setNToConfirm(int nToConfirm)
    新しい向きを採用するまでに連続で一致する必要があるフレーム数を設定する。 1 にすると判定結果を毎回そのまま採用します。値を大きくすると反応が遅くなる 代わりに安定します。判定が1フレームだけ揺れると認識結果と検出枠が飛ぶため、 既定では 1 より大きい値を使っています。

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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

      public Rotation getFixedRotation()
      Returns:
      自動判定が無効なときに適用される回転角度
    • setFixedRotation

      public void setFixedRotation(Rotation fixedRotation)
      自動判定が無効なときに適用される回転角度を設定する
      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

      public ExecutionSettings getExecutionSettings()
      Returns:
      向き判定モデルの実行設定
    • setExecutionSettings

      public void setExecutionSettings(ExecutionSettings executionSettings)
      向き判定モデルの実行設定を設定する。 既定は CPU です。向き判定モデルは小さいため、GPUデリゲートの初期化コストの方が 推論時間の短縮を上回ります。
      Parameters:
      executionSettings - 実行設定