2

我正在使用 Xuggle 从 ip-camera 播放隔行扫描视频,并且确实需要去隔行选项,该选项存在于 FFMpeg 中(Xuggle 是 FFMpeg 库的 Java 包装器)。

不幸的是,Xuggle 没有公开去隔行选项(“-vf yadif”,如果我没记错的话)。所以,我对 Java BufferedImage deinterlacing 的纯 Java 解决方案或使 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

有人可以在这方面帮助我吗?

4

1 回答 1

0

我通过 JNI 使用了 FFMPEG 的 yadif 过滤器。Java 实现非常缓慢。

于 2012-11-19T20:19:14.477 回答