public void leer() {
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(videoseleccionado);
try {
OpenCVFrameConverter.ToIplImage converterToIplImage = new OpenCVFrameConverter.ToIplImage();
Java2DFrameConverter converterToBI = new Java2DFrameConverter();
grabber.start();
int frame_count= grabber.getLengthInFrames();
// label =new JLabel[frame_count];
String fps = Double.toString(grabber.getFrameRate());
Nframe.setText(fps);
for(int i=1120; i<1184; i++){
grabber.setFrameNumber(i);
org.bytedeco.javacv.Frame frame = grabber.grabImage();
if(frame == null) break;
if(frame.image == null) continue;
IplImage image = converterToIplImage.convert(frame);
BufferedImage bi = IplImageToBufferedImage(image);
ImageIcon icon=new ImageIcon(bi);
icono = new ImageIcon(icon.getImage().getScaledInstance(jPanel1.getWidth(), jPanel1.getHeight(), Image.SCALE_DEFAULT));
label=new JLabel(icono);
label.setIcon(icono);
//JLabel label = new JLabel(icono);
jPanel1.add(label);
jPanel1.setVisible(true);
jPanel1.revalidate();
String img_path = "D://" + "frame-" + String.valueOf(i) +".jpg";
cvSaveImage(img_path, image);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static BufferedImage IplImageToBufferedImage(IplImage src) {
OpenCVFrameConverter.ToIplImage grabberConverter = new OpenCVFrameConverter.ToIplImage();
Java2DFrameConverter paintConverter = new Java2DFrameConverter();
org.bytedeco.javacv.Frame frame = grabberConverter.convert(src);
return paintConverter.getBufferedImage(frame,1);
}