我的目标是:我必须读取存储在sd卡上的视频,对其帧进行处理,然后再将其存储在SD卡上的一个新文件中,在每个图像中进行图像处理。起初,我想在安卓系统上使用opencv,但我似乎无法读到视频here。
发布于 2017-01-11 12:14:09
我猜你已经知道,在移动设备或任何计算机有限的设备上这样做是不理想的,因为视频操作是非常计算机密集型的,这意味着执行速度慢,而且很多设备上的电池使用量很大。如果您可以选择在服务器端进行处理,则绝对值得考虑。
假设您的用例需要在移动设备上进行,那么安卓上的OpenCV现在将允许您在视频中阅读并访问每一帧- @StephenG在回答上面提到的问题时提到了这一点。
在过去,像这样的功能没有移植到Android OpenCv上,因为指南是使用ffmpeg在Android设备上抓取帧。
然而,根据最近的文档,这应该适用于现在使用VideoCapture类的Android (请注意,我自己没有使用.):
值得注意的是,Eclipse示例目前都是基于OpenCV的,如果您想要使用,一开始运行起来可能会很棘手。以下内容最近对我起了作用,但随着时间的推移,工作室和OpenCV都会发生变化,如果它对你不起作用,你可能会发现你必须做一些论坛搜索:
采用不同的方法,您可以在Android中的包装器中使用ffmpeg本身来执行类似的任务。
包装方法的优点是您可以使用所有常用的命令行语法,并且web上有很多信息可以帮助您获得正确的参数。
缺点是,ffmpeg并不是以这种方式设计的,所以有时您确实会看到问题。尽管如此,它现在是一种常见的方法,只要您选择了一个使用良好的包装器库,您至少应该有一个良好的社区来讨论您遇到的任何问题。过去,我用手工制作的方法使用过这种方法,但如果我再次使用这种方法,我会使用以下流行示例:
https://stackoverflow.com/questions/40880768
复制相似问题