0

这是我的代码。我正在使用 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();
4

1 回答 1

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

于 2013-11-05T07:11:42.067 回答