我已经实现了一个实现CvCameraListener接口的安卓应用程序。在onCameraFrame(Mat inputFrame)方法中,我处理从相机捕获的inputFrame。现在来看看我的问题:有没有一种方法可以使用手机上保存的视频文件作为输入,而不是直接从摄像头获取帧?这意味着我想有一个视频文件输入一帧一帧的Mat格式。
有没有可能做到这一点?
感谢您的回答
发布于 2014-08-11 16:00:26
虽然它没有经过测试,而且我在安卓系统上没有太多使用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初始化后使用它。此外,您还可以将帧编号转换为时间代码。
祝你好运和快乐的编码。:)
https://stackoverflow.com/questions/25227561
复制相似问题