如何将IplImages / Frames从FFmpegFrameGrabber转换为Mat

时间:2013-11-05 07:03:08

标签: android opencv javacv

这是我的代码。我正在使用FFmpegFrameGrabber从我的android文件系统中存储的视频中逐个抓取帧。我需要一些方法将IplImage或Frame转换为Mat,以便我可以在其上执行一些功能。

        FFmpegFrameGrabber grabber=new FFmpegFrameGrabber("/data/data/some.path.name/files/images/1.mp4");
        grabber.start();

        while(true){
        IplImage image=grabber.grab();
                   // or Frame image=grabber.grabFrame();


                   /*
           some code to convert Frame/IplImage to Mat.
                   */
                }

          grabber.stop();
          grabber.release();

1 个答案:

答案 0 :(得分:0)

在C ++中,cv::Mat有一个带IplImage

的构造函数
 C++: Mat::Mat(const IplImage* img, bool copyData=false)

你的JavaCV中也应该有一个。

另一方面,您应该能够直接使用IplImage OpenCV,而无需转换为cv::Mat

编辑:在SO上查看这个问题:Convert IplImage to Mat in javacv