【问题标题】:Why on Android, OpenCV camera is faster than the Android Camera when capturing video为什么在 Android 上,OpenCV 摄像头在捕获视频时比 Android 摄像头快
【发布时间】:2012-10-17 11:56:29
【问题描述】:

在 Android 上的一个项目中,我试图捕捉视频并实时处理它(如 Kinect)。我尝试了两种方法:使用 OpenCV 不断调用 mCamera.grab() 和 capture.retrieve(mRgba,Highgui.CV_CAP_ANDROID_COLOR_FRAME_RGBA);或 Android 的相机,不断捕捉图像。

我觉得 OpenCV 相机捕捉图像的能力比 Android 相机快。但为什么呢?

【问题讨论】:

  • 如果你使用“捕获”,即takePicture(),你肯定会得到缓慢的响应。实时处理视频应通过setPreviewCallbackWithBuffer()onPreviewFrame() 回调完成。
  • 奇怪,我有相反的经验,opencv相机明显比android慢。 +1 给@Alex,可能 Songyy 没有使用带缓冲区的回调。
  • 你应该使用原生相机视图,它非常快。

标签: android opencv android-camera video-capture


【解决方案1】:

OpenCV 使用 hack 来获得对 Android 摄像头的低级别访问权限。它可以避免本地层和托管层之间的多次数据复制和转换。

【讨论】:

  • 嗨,Andrey,这听起来很有趣,你能解释一下所做的更多细节吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多