Hola amigos, comparto con ustedes un pequeño programa que permite extraer imágenes JPG de un video en formato MP4.
Para tal fin se usan las librerías javaCV, javaCPP y sus correspondientes dependencias.
Clase Read.java
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import org.bytedeco.javacpp.opencv_core.IplImage;
import org.bytedeco.javacv.FFmpegFrameGrabber;
import org.bytedeco.javacv.Frame;
import org.bytedeco.javacv.FrameGrabber.Exception;
import org.bytedeco.javacv.Java2DFrameConverter;
import org.bytedeco.javacv.OpenCVFrameConverter;
/**
*
* @author imagineanddo.com
*/
public class Read{
public static void main(String []args) throws IOException, Exception
{
FFmpegFrameGrabber frameGrabber = new FFmpegFrameGrabber("C:\\DATA\\5.mp4");
frameGrabber.start();
Frame i;
OpenCVFrameConverter.ToIplImage converterToIplImage = new OpenCVFrameConverter.ToIplImage();
try {
frameGrabber.setFrameNumber(3);//puede ser cualquier frame
Frame frame = frameGrabber.grabImage();
System.out.println(frame);
IplImage image = converterToIplImage.convert(frame);
BufferedImage bi = IplImageToBufferedImage(image);
File outputfile = new File("C:\\DATA\\image.jpg");
ImageIO.write(bi, "jpg", outputfile);
frameGrabber.stop();
} catch (Exception e) {
e.printStackTrace();
}
}
public static BufferedImage IplImageToBufferedImage(IplImage src) {
OpenCVFrameConverter.ToIplImage grabberConverter = new OpenCVFrameConverter.ToIplImage();
Java2DFrameConverter paintConverter = new Java2DFrameConverter();
Frame frame = grabberConverter.convert(src);
return paintConverter.getBufferedImage(frame,1);
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Les dejo los archivos utilizados en este ejemplo:
Read.java
Librerias
5.mp4
Suscribirse a:
Enviar comentarios (Atom)
.NET: Ejemplo de como usar Dynamic con C#
Hola a todos, le dejo un ejemplo simple de como manejar la clase Dynamic que nos provee el paquete System.Dynamic del .Net Framework. Pa...
-
Aquí les dejo un pequeño manual para consumir un Web Service a partir de una url o descriptor del Web Service. Espero que este ejemplo les s...
-
El algoritmo de Lenin o fórmula de Luhn , también conocida como "algoritmo de módulo 10", es una fórmula de suma de verificación,...
-
Master Roshi Master Yoda Master Dohko Master Dungeon Visto en: www.9gag.com
No hay comentarios:
Publicar un comentario