CameraX
CameraX
CameraX は、カメラアプリの開発を簡単に行うための Jetpack サポート ライブラリです。
Camera2 API の機能を簡単に利用することができます。
Android5.0 以上で動作するので、幅広いデバイスで安定して動作させることができます。
CodeLab
例によって CodeLab やりましょう。
まずは build.gradle の dependencies に CamelaX を追加(alpha 版)
View を用意。TextureView(高速描画の view component)
previewを実装。撮影する枠の大きさなど指定 *ImageCapture 実装。この時、撮影のトリガーとなるボタンも view に追加
ImageAnalysis クラス実装
(Firebase や MLKit などの機械学習で使えるようです )
- ImageCapture
- ImageAnalysis
それぞれ bindToLifecycle で読み込ませる。
ImageAnalysis ってなんぞや?と思い質問させていただたところ、
画像の平均輝度を数値で計ることができるとのことでした。
- 検証 1:明るい壁を撮影
- 検証 2:真っ暗にして撮影
まとめ
Camera2 API を使うと、プレビューを表示させることすら大変らしい・・
ですが、CameraX を使うと、簡単なカメラアプリを作る程度ならとても良さそう!