我正在尝试用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。
https://stackoverflow.com/questions/41498795
复制相似问题