Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
opencv视频捕获速度非常慢,具有高分辨率视频_Opencv_Video Capture - Fatal编程技术网

opencv视频捕获速度非常慢,具有高分辨率视频

opencv视频捕获速度非常慢,具有高分辨率视频,opencv,video-capture,Opencv,Video Capture,我正在尝试使用OpenCV VideoCapture读取高分辨率视频,但速度似乎非常慢。我在某个地方读到改变缓冲区大小可能会有所帮助,但我尝试设置各种缓冲区大小,但仍然很慢。 非常感谢您在这里提供的关于哪些设置有助于提高java opencv高分辨率视频的阅读能力的帮助 我正在使用VideoCapture从磁盘读取视频。我正在使用MacOSX。以下是我的代码片段: while(camera.read(frame)) { BufferedImage bufferedImage = MatT

我正在尝试使用OpenCV VideoCapture读取高分辨率视频,但速度似乎非常慢。我在某个地方读到改变缓冲区大小可能会有所帮助,但我尝试设置各种缓冲区大小,但仍然很慢。 非常感谢您在这里提供的关于哪些设置有助于提高java opencv高分辨率视频的阅读能力的帮助

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

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帧。

您尝试过调整单个帧的大小吗

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

一些额外的细节可能会有所帮助:你用的是什么相机?这是什么操作系统?你所说的“非常慢”是什么意思?你能给我们一个帧数/秒的数字吗?如果一个本来快乐的应用程序慢到爬行速度,很可能是因为它正在泄漏内存,即在不释放或释放内存的情况下分配越来越多的内存。虽然我不是Java程序员,但我看不到循环中的内存有任何释放。尝试在代码运行时运行macOS的
活动监视器
,并观察内存。