package resa.evaluation.tools;
import org.bytedeco.javacpp.opencv_core;
import org.bytedeco.javacv.FFmpegFrameGrabber;
import static org.bytedeco.javacpp.opencv_core.cvSize;
import static org.bytedeco.javacpp.opencv_highgui.cvSaveImage;
import static org.bytedeco.javacpp.opencv_imgproc.cvResize;
/**
* Created by ding on 14/10/18.
*/
public class Video2Image2 {
public static void main(String[] args) throws Exception {
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(args[0]);
grabber.start();
int i = 0;
opencv_core.IplImage img = null;
int max = Integer.parseInt(args[2]);
if (max <= 0) {
max = Integer.MAX_VALUE;
}
while (i++ < max) {
opencv_core.IplImage source = grabber.grab();
if (img == null) {
opencv_core.CvSize size = cvSize(source.width() / 2, source.height() / 2);
img = opencv_core.IplImage.create(size, source.depth(), source.nChannels());
}
cvResize(source, img);
cvSaveImage(String.format(args[1] + "/%05d.jpg", i), img);
}
System.out.println("done, got " + i + " images");
}
}