opencv VideoCapture非常慢,高分辨率视频

时间:2017-01-06 04:10:20

标签: opencv video-capture

我正在尝试使用OpenCV VideoCapture读取高分辨率视频,但它似乎非常慢。我读到某处更改缓冲区大小可能会有所帮助,但我尝试设置各种缓冲区大小,但仍然很慢。 有关哪些设置有助于提高阅读java opencv高分辨率视频的任何帮助,我们非常感谢

我正在使用VideoCapture从磁盘读取视频。我正在使用Mac OSX。以下是我的代码片段:

while(camera.read(frame))
{
    BufferedImage bufferedImage = MatToBufferedImage(frame);
    BufferedImage scaledImage = (BufferedImage)getScaledImage(bufferedImage, frameWidth, frameHeight);
    ImageIcon icon = new ImageIcon(scaledImage);
    publish(icon);

}

我正在使用swingworker并在后台线程中执行此操作。 我没有明确设置任何openCV属性。我是否应该设置任何明确的属性是我不确定的。

这是我观察到的:我的视频开始很好,然后大约第50帧左右,我看到一些滞后,然后再次在第120帧左右,它几乎完全停在帧号190ish。

1 个答案:

答案 0 :(得分:0)

您是否尝试过调整各个帧的大小?

while(camera.read(frame))
{
resize(frame,frame,Size(640,360));
imshow("frame",frame);
}