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

时间:2013-05-18 16:09:50

标签: java android opencv camera

主题中说明:opencv.android.JavaCameraViewopencv.android.NativeCameraView之间有什么区别。一个优点是另一个优势,主要优势是什么?它提供了更多选择?

2 个答案:

答案 0 :(得分:13)

来自OpenCV documentation

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类的对象,表示来自摄像机的帧。

答案 1 :(得分:11)

我刚刚从here接受了这个答案(这是一个有点旧答案)并添加了我的经验:

原生相机:

  • (+ 1)更高的帧率

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

  • “仅针对armv7架构编译”不再适用。
  • ( - 1)无法在所有设备上运行 - >我确定 !!这就是我不使用它的原因!! 请参阅bug 2359
  • ( - 1)不支持自动对焦,设置增益..(2012年回答)

我希望这会有所帮助!