Android摄像头预览
Android OpenCV开发过程中,我们有3种可选方式去实现Android摄像头预览功能:
- 使用Android系统Camera API
- 使用CameraX(JetPack组件)
- 使用OpenCV SDK辅助类(JavaCameraView、JavaCamera2View等)
当然,有人可能会有疑问?后面两种方式不也是使用Android系统的Camera APi嘛。你说的很有道理,只是CameraX为我们处理了很多麻烦的问题,如设备管理,生命周期管理等逻辑,让开发者更专注于生产业务需求,降低系统API使用难度。而今天我们要重点介绍的Android OpenCV SDK,也是基于Android Camera API的封装,以便我们在使用OpenCV的场景下快速使用相机功能。同样是封装,CameraX旨在帮助开发者快速构建相机类应用,而Android OpenCV SDK的封装则更适合OpenCV的图像处理业务场景,去繁就简。不同的场景下采用不同的封装解决各自的业务问题,无可厚非。
Android OpenCV 辅助类
从下图可以看出,针对Android平台的辅助类,基于全部与Camera相关。其实也正常,OpenCV图像处理在Android平台上的使用场景是很难与Camera无关的。