OpenCV VideoWriter变得越来越慢

时间:2015-08-23 06:00:41

标签: python performance opencv

我正在Mac OS X上使用VideoWriter的{​​{1}}将图像写入视频。以下是代码:

OpenCV

此代码在开始时运行良好(每秒写入10帧)。然后,它变得越来越慢,直到它降到不可接受的水平。 1小时后(是的,我有很多文件,~10k),一帧大约30秒。 3小时后,写一帧需要1分钟以上。

我检查了fourcc = cv2.VideoWriter_fourcc(*'avc1') vw = cv2.VideoWriter('%s/%s' % (path, 'output.avi'), fourcc, fps, (img.shape[1], img.shape[0]), True) for fn in filenames: img = cv2.imread('%s/%s.png' % (path, fn)) if img == None: print 'bad file', fn continue else: print 'writing', fn #cv2.imshow('preview', img) #cv2.waitKey(1) vw.write(img) Activity Monitor消耗了大约10%的CPU和<40M内存。它变得如此之慢?我的代码有什么问题吗?如何提高性能?

一些信息:

我拥有的所有图片都放在一个文件夹下,它们都是1080p QTKitServer个文件。 FPS约为.png。我花了6个小时生成一个视频,大约500MB。

我在配备Xeon E3-1225v3,16GB RAM的Mac OS X 10.10.5计算机上运行此代码。 1000/66~=15OpenCV一起安装。内存使用量保持在6GB左右,缓存为7GB。交换使用率约为= 12MB。

0 个答案:

没有答案