我正在尝试使用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。
答案 0 :(得分:0)
您是否尝试过调整各个帧的大小?
while(camera.read(frame))
{
resize(frame,frame,Size(640,360));
imshow("frame",frame);
}