迟滞,同时显示使用opecv2和Python

问题描述:

我显示了一堆图像的图像使用下面这段代码片段帧:迟滞,同时显示使用opecv2和Python

import cv2 

from IPython import embed 
import os 
import glob 

file_list = ['/home/Sep28', 
'/home/Sep21', 
'/home/Sep29', 
] 

count = 0 
for i in file_list: 
      file_names = glob.glob(i+"/kinect_rgb/*") 
      file_names.sort() 
      print "found" 
      for j in file_names: 
       img = cv2.imread(j) 
       img = img[200:600,100:500] 
       cv2.imshow("cropped",img) 
       cv2.waitKey(50) 
       count = count + 1 

每当我展示他们的视频并没有在订单流,它看起来像一次在三帧和更旧的帧被插入。我不确定可能是什么原因。

  • 我的图像看起来完全正常的文件夹
  • 我打印的文件名和他们似乎并不重复,以及内。
+0

问题是:'cv2.waitKey(50)'减少50,比方说,1。这是每一帧之间的延迟,你要减少。 –

+0

谢谢。我设置了cv2.waitKey(1),问题仍然存在。但为什么延迟会导致帧滞后?不应该在50ms或1ms之后移动到下一帧? – deeplearning

+0

也许你不应该对文件名进行排序? –

请勿使用file_names.sort()。

In [8]: filenames = [str(i) + ".png" for i in range(13)] 

In [9]: filenames 
Out[9]: 
['0.png', 
'1.png', 
'2.png', 
'3.png', 
'4.png', 
'5.png', 
'6.png', 
'7.png', 
'8.png', 
'9.png', 
'10.png', 
'11.png', 
'12.png'] 

In [10]: filenames.sort() 

In [11]: filenames 
Out[11]: 
['0.png', 
'1.png', 
'10.png', 
'11.png', 
'12.png', 
'2.png', 
'3.png', 
'4.png', 
'5.png', 
'6.png', 
'7.png', 
'8.png', 
'9.png'] 

试试这个:How do you sort files numerically?

+0

我看到那里发生了什么!如果我没有对它进行分类,那么这些图像会以一种随意的偶然方式出现。有没有其他的内置函数可以帮助我对文件进行排序? – deeplearning

+0

试试这个:https://*.com/questions/4623446/how-do-you-sort-files-numerically –