2017-10-15 6 views
0

J'affichons un tas d'images cadres à l'aide cet extrait de code ci-dessous:Lag lors de l'affichage des images en utilisant opecv2 et 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 

Chaque fois que je les affiche, la vidéo ne circule pas dans l'ordre, il ressemble à une fois dans trois cadres et un cadre plus ancien est inséré. Je ne suis pas sûr de ce qui pourrait être la raison.

  • Mes images sont tout à fait bien dans le dossier
  • imprimer les noms de fichiers et ils ne semblent pas répéter aussi bien.
+0

problème est: 'cv2.waitKey (50)' réduire de 50 à, disons, 1. que le délai entre chaque image, vous aurez envie de réduire cela. –

+0

Merci. J'ai mis le cv2.waitKey (1) et le problème persiste toujours. Mais pourquoi le retard cause-t-il le décalage de trame bien? Ne devrait-il pas passer à l'image suivante après 50ms ou 1 ms? – deeplearning

+0

Peut-être que vous ne devriez pas trier les noms de fichiers? –

Répondre

1

N'utilisez pas de fichier_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'] 

Essayez ceci: How do you sort files numerically?

+0

Je vois ce qui se passe là-bas! Si je ne le trier, alors les images apparaissent de manière aléatoire aléatoire. Y at-il une autre fonction intégrée qui m'aide à trier le fichier? – deeplearning

+0

essayez ceci: https: //stackoverflow.com/questions/4623446/how-do-you-sort-files-numerically –