在Android中将视频保存为输入而不是Camera

时间:2014-08-10 10:09:03

标签: android opencv

我已经实现了一个实现CvCameraListener接口的Android应用程序。在onCameraFrame(Mat inputFrame)方法中,我处理来自摄像头的捕获的inputFrame。 现在我的问题:有没有办法可以将手机上保存的视频文件用作输入,而不是直接从相机获取帧?这意味着我希望以Mat格式逐帧输入视频文件。

有可能这样做吗?

感谢您的回答

1 个答案:

答案 0 :(得分:1)

虽然没有经过测试,但我在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。此外,您可以将帧编号转换为时间码。

祝你好运,快乐的编码。 :)