首页 > 解决方案 > 从openCV输出获取相机帧而不是cam的原始帧

问题描述

(在android中),我想要需要获取相机帧的应用程序,从openCV输出中获取,而不是获取相机的原始帧。例如,我有一个应用程序可以打开摄像头并显示像视频一样的摄像头帧,我希望这个应用程序从接口输出中获取摄像头帧(一些应用程序可以获取摄像头的原始帧并对其进行操作)。
接口应用程序像后台服务一样运行/运行,当其他应用程序使用相机 API 时,实际上 android 给他们接口应用程序输出而不是原始帧
这可能吗?

标签: javaandroidopencvimage-processingopencv4android

解决方案


您的问题看起来有点混乱,但我会尽力提供帮助。

您必须了解 OpenCV没有内置的视频编码器(或视频接口,如您所指)。图书馆依靠第三方来完成工作。您的界面已经存在(ta da!)只需检查一下您编译了哪个界面,并记住您可能需要为此编写 C++ 嵌入代码。

您的 Android 环境应该具有以下两种之一:

  • GStreamer:可能是最好的选择,因为它有一个应用程序接收器,你可以让它作为一个合理的接口运行。

https://gstreamer.freedesktop.org/documentation/tutorials/android/index.html

  • FFMpeg:可以完成这项工作,大多数时候比 GStreamer 快,但编码有点困难。

https://github.com/WritingMinds/ffmpeg-android

https://hackernoon.com/android-ndk-my-experience-with-ffmpeg-93dd7e4b9269


推荐阅读