android - 将视频保存为输入而不是 android 中的相机

标签 android opencv

我已经实现了一个实现了 CvCameraListener 接口(interface)的安卓应用。在 onCameraFrame(Mat inputFrame) 方法中,我处理从相机捕获的 inputFrame。 现在我的问题是:有没有一种方法可以使用手机上保存的视频文件作为输入,而不是直接从相机获取帧?这意味着我想以 Mat 格式逐帧输入视频文件。

有没有办法做到这一点?

感谢您的回答

最佳答案

虽然它没有经过测试,而且我在 Android 上的 OpenCV 方面也没有太多经验。不过,您可以这样尝试:

//[FD : File descriptor or path.]
Bitmap myBitmapFrame;
MediaMetadataRetriever video_retriever = new MediaMetadataRetriever();
    try {
        retriever.setDataSource(FD);
        myBitmapFrame = retriever.getFrameAtTime(..);
        }
    catch(...
          :
Utils.bitmapToMat(myBitmapFrame, myCVMat);

您可能必须实现一些回调系统,因为在初始化后您只能使用 OpenCV。此外,您还可以将帧数转换为时间码。

祝你好运,编码愉快。 :)

关于android - 将视频保存为输入而不是 android 中的相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25227561/

相关文章:

android - 我可以仅在 Android 调试版本中启用 multidex 吗?

android - Ti.media.showCamera 在 iPhone 上抛出 'undefined' 错误,但在 Android 上工作正常

opencv - HoughLinesP 与 IplImage

python - 如何按面积排序opencvconnectedComponentewithStat?

Python:根据 1 和 0 的数组计算结构的面积和周长

android - 如何在android中获取目录设备中的文件?

android - OpenCV Android NDK 项目将无法构建

android - 使用 retrofit2 和 OkHttp3 时出现此错误。无法解析主机 "<host-name>": No address associated with hostname

c++ - IplImage 与 CvMat

c++ - 在 VS2015 Update 3 中构建 OpenCV 3.2 时,xtr1common 出现大量错误