`opencv.android.JavaCameraView`和`opencv.android.NativeCameraView`有什么区别?

Yod*_*oda 12 java camera android opencv

正如主题中所述:opencv.android.JavaCameraView和之间有什么区别opencv.android.NativeCameraView.一个是另一个有哪些优点,主要有哪些优势?

0x6*_*C38 13

OpenCV文档:

org.opencv.android.JavaCameraView班是OpenCV库内部实现.它继承自CameraBridgeViewBase,扩展SurfaceView和使用标准的Android相机API.或者,您可以使用org.opencv.android.NativeCameraView实现相同接口的VideoCapture类,但使用类作为摄像头访问后端.opencv:show_fps="true"opencv:camera_id="any"选项启用FPS消息并允许使用设备上的任何摄像头.应用程序首先尝试使用后置摄像头.

实现CvCameraViewListener界面允许您从帧抓取摄像头后,其在屏幕上呈现前加处理步骤.最重要的功能是onCameraFrame.它是回调函数,在从相机检索帧时调用它.回调输入是CvCameraViewFrame表示来自摄像机的帧的类的对象.

  • 有人可以从使用的角度扩展Android Camera API和OpenCV VideoCapture类之间的差异吗?性能,功能,稳定性,VideoCapture类只能从c/c ++访问吗? (2认同)
  • 由于这是一篇旧帖,我只会发表评论.建议尽可能使用Java实现.所有JNI调用在性能方面都花费了很多,对于mmaped内存使用也是如此.这不仅适用于相机使用. (2认同)

ahm*_*_89 12

我刚刚从这里得到了这个答案(这是一个有点旧答案)并添加了我的经验:

原生相机:

  • (+1)帧率更高

  • (+1)捕获RGBA,无需从android yuv格式转换.

  • "仅为armv7架构编译"不再适用.
  • (-1)不适用于所有设备 - >我确认!! 这就是为什么我不使用它!错误2359.
  • (-1)不支持自动对焦,设置增益..(2012年回答)

我希望这会有所帮助!