java - 从openCV输出获取相机帧而不是cam的原始帧
问题描述
(在android中),我想要需要获取相机帧的应用程序,从openCV
输出中获取,而不是获取相机的原始帧。例如,我有一个应用程序可以打开摄像头并显示像视频一样的摄像头帧,我希望这个应用程序从接口输出中获取摄像头帧(一些应用程序可以获取摄像头的原始帧并对其进行操作)。
接口应用程序像后台服务一样运行/运行,当其他应用程序使用相机 API 时,实际上 android 给他们接口应用程序输出而不是原始帧
这可能吗?
解决方案
您的问题看起来有点混乱,但我会尽力提供帮助。
您必须了解 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
推荐阅读
- ios - 如何在 swift 的其他视图中获取响应变量的值...当我尝试访问此变量时它返回 nil...需要解决这个问题
- java - 如何根据条件更改android MPAndroidchart中的三次折线图颜色
- angular - 在现有 gwt 应用程序新菜单中实现角度的最佳方法
- java - java中的随机数、数组和字符
- jquery - Bootstrap Modal ScrollTop 与偏移量无关滚动位置
- android - MLKit 错误:无法从路径 mlkit_pose/pose_person_detector_f16.tflite 加载模型
- permissions - Avada Wordpress 主题 - 无法访问品牌设置
- c# - 如何通过创建一个空行来结束一个序列?
- applescript - 使用 AppleScript 将 finder 中的副本替换为脚本
- android - 使用 SpeechRecognizer API 对 editText 的语音输入进行 Espresso 测试