有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JavaCV将视频帧传递给imread()

我正在尝试使用JavaCV进行模板匹配。演示示例位于here。我将他们所有的.jar文件添加到项目中。我需要将视频帧(例如video.mp4的最后一帧)传递给imread(),而不是从文件中读取源图像。我该怎么做

String [] arg={"laff.png","template.png"};
FrameGrabber grabber = new FFmpegFrameGrabber("video.mp4");
System.out.println(grabber.getFrameRate());    //returns 0???

// read in image default colors
Mat sourceColor = imread(args[0]);   // pass last frame of video.mp4 instead of args[0]

更新:我现在可以使用以下方法将[第一个]视频帧传递给imread()(关键点是调用start())。所以我完成了转换。现在我需要知道如何获取一个特定的帧号,比如最后一帧

FFmpegFrameGrabber grabber = new FFmpegFrameGrabber("video.mp4");
grabber.start();
System.out.println(grabber.getLengthInTime());
OpenCVFrameConverter.ToMat converter = new OpenCVFrameConverter.ToMat();

共 (0) 个答案