scan

fun scan(image: ImageProxy, cropRect: RectF, options: DocScanOptions): DocScanResult

ドキュメントを検出し、必要に応じて射影変換した画像を返します。

TransformMode の挙動

  • Auto:検出物の形状から 出力サイズを自動推定 して補正

  • FixedSize(width, height):指定の 固定サイズ に射影変換(縦横比は指定に一致)

  • ScaledSize(size):検出物の 長辺が size になるようスケールして補正(短辺は比率で決定)

画像・座標の扱い

  • 入力は CameraX の ImageProxy。本実装では Y 平面(planes[0] を Rust 側に渡します。

  • 端末の物理回転は image.imageInfo.rotationDegrees を渡して補正します。

  • CameraX の image.cropRect と、ユーザー指定の cropRect(本メソッド引数)はそれぞれ別に渡されます。

Return

検出スコア・バウンディングボックス・キーポイント・補正後ビットマップを含む DocScanResult

Parameters

image

カメラフレーム(YUV_420_888ImageProxy を想定)

cropRect

ユーザー指定の関心領域(プレビュー座標系の矩形)

options

スキャン挙動(射影変換モード、中心優先など)

Throws

初期化されていない場合(load() 未実行)

ネイティブ呼び出しで致命的なエラーが発生した場合