2012-09-12 1 views
2

나는 ip-camera에서 인터레이스 된 비디오를 재생하기 위해 Xuggle을 사용하고 있으며 FFMpeg (Xuggle은 FFMpeg 라이브러리의 Java 래퍼)에 존재하는 deinterlace 옵션이 정말로 필요합니다.Java에서 이미지를 디인터레이스 할 수 있습니까?

Xuggle에서 디인터레이스 옵션 ("-vf yadif", 실수가 아닌 경우)이 노출되지 않습니다. 그래서, 자바 BufferedImage 디인터레이싱의 순수 자바 솔루션이나 Xuggle을 만드는 방법에 관심이 있습니다.

이제 홀수 줄을 복제하고 짝수를 버립니다. 그것은 빠르지 만 코스의 질은 그다지 좋지 않습니다.

// Interlaced image 
BufferedImage img = (BufferedImage) event.getImage(); 

//duplicate odd lines 
WritableRaster raster = img.getRaster(); 
for (int i = 0; i < raster.getHeight(); i += 2) { 
    int[] arr2 = null; 
    raster.setPixels(0, i + 1, raster.getWidth(), 1, 
      raster.getPixels(0, i, raster.getWidth(), 1,arr2)); 
}  
//now img is deinterlaced 

누군가이 점에 대해 도움을 줄 수 있습니까?

답변

0

필자는 JNI를 통해 FFMPEG의 yadif 필터를 사용했습니다. 자바 실현은 매우 느렸다.