2016-08-15 5 views
-2

저는 비디오 분석을 위해 프로젝트 작업을하고 있습니다. 비디오를 프레임으로 분할하여 개별적으로 처리하려고합니다. Xuggler와 FFMPEG를 포함한 몇 가지 오픈 소스 라이브러리를 살펴 보았지만 사용하기에 구식이 아니며 사용할 수 없습니다. 비디오에서 프레임을 추출하고이를 BufferedImage 컬렉션으로 처리 할 수있는 간단한 방법이 있습니까?비디오 자바에서 프레임을 추출하는 방법은 무엇입니까?

+1

FFMPEG 여전히 활발하게 유지되는이 규정을 따르 http://ffmpeg.org/ 마지막 릴리스했다 이번 달은 ... – litelite

답변

-1

OpenCV 이미지 및 비디오 처리 무료 오픈 소스 프레임 워크를 사용할 수 있습니다. 또한 훌륭한 Java 래퍼도 있습니다.

0

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.FrameGrabber.Exception; 

public class Read{ 
    public static void main(String []args) throws IOException, Exception 
    { 
     FFmpegFrameGrabber frameGrabber = new FFmpegFrameGrabber("D:/video.mp4"); 
     frameGrabber.start(); 
     IplImage i; 
     try { 

      i = frameGrabber.grab(); 
      BufferedImage bi = i.getBufferedImage(); 
      ImageIO.write(bi,"png", new File("D:/Img.png")); 
      frameGrabber.stop(); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 


    } 
} 
+0

코드는 첫 번째 프레임 (1 초) 에 대한 이미지를 생성합니다 특정 프레임에 대한 이미지를 생성하는 방법은 무엇입니까? –