首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV安卓:在后台获取摄像头画面,而不在屏幕上显示

OpenCV安卓:在后台获取摄像头画面,而不在屏幕上显示
EN

Stack Overflow用户
提问于 2014-05-20 03:18:51
回答 2查看 4.1K关注 0票数 5

我已经为安卓教程和Barry Thomas的应用程序OpenCV Demo 2的源代码写了一个基于OpenCV的光流检测应用程序。现在,我希望将此应用程序作为后台任务,这样我就可以通过侦听器接口将检测结果传递给我的主要活动。

OpenCV totorials中的所有应用程序示例都扩展了Activity并实现了CvCameraViewListener,并在屏幕上显示了摄像头输入。我希望能够捕获相机帧,并在背景帧上进行光流检测,而不在屏幕上显示它们。

如何在不显示摄像头输入的情况下从后台摄像头获取帧?

EN

回答 2

Stack Overflow用户

发布于 2014-05-24 19:03:13

有两种方法,但您必须在方法onCameraFrame的内存中保留一个Mat:

代码语言:javascript
复制
@Override
public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
    mRgba = inputFrame.rgba();      
    return mRgba;
}

1)使cameraview不可见2)使onCameraFrame返回null

这两种方法都应该在另一个视图中完成额外的工作。

票数 1
EN

Stack Overflow用户

发布于 2014-06-16 15:19:16

我发现在后台获取相机画面的唯一方法是使用SurfaceTexture而不是SurfaceView,因此使用Camera.setPreviewTexture而不是Camera.setPreviewDisplay来设置它。

This的回答以及this one的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23745555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档