Écrit numpy tableaux à l'aide de cv2 VideoWriter
J'ai un problème avec l'écriture d'un jouet vidéo par exemple à l'aide de opencv2.3.1 VideoWriter, voici comment je le fais:
writer = cv2.VideoWriter('test1.avi',cv.CV_FOURCC('P','I','M','1'),25,(640,480))
for i in range(1000):
x = np.random.randint(10,size=(480,640)).astype('uint8')
writer.write(x)
#del writer (with or without tested)
J'ai essayé toutes les combinaisons possibles résultant de 0 octets du fichier si l'extension a été mpg, et de 5,5 ko si c'était de l'avi. Je dois dire que certains pensent que je devrais construire la bibliothèque ffmpeg à partir de la source et de ne pas apt-get. Eh bien, je l'ai fait sur une nouvelle machine en s'appuyant sur l'aide de ce site http://vinayhacks.blogspot.com/2011/11/installing-opencv-231-with-ffmpeg-on-64.html. qui a également présenté une erreur lors de la compilation d'opencv(l'erreur est liée à ffmpeg). Maintenant, je suis vraiment à court d'idées, Comment générer une vidéo à l'aide d'OPENCV?
Merci d'avance
cv2.VideoWriter()'
a échoué .... writer
serait nul. Comment tester qu'avant l'exécution de la boucle?quand j'écris un écrivain.isOpened il renvoie pour moi, la Vraie, donc je ne pense pas que c'est nul
Je ne dis pas que c'est le cas, je dis que c'est de bonne pratique de le faire et il va vous protéger contre beaucoup de maux de tête à l'avenir.
OriginalL'auteur JustInTime | 2012-02-14
Vous devez vous connecter pour publier un commentaire.
VideoWriter a le dernier argument de la
isColor
avec la valeur par défautTrue
.Donc, si vous la changez pour
False
ensuite, vous pouvez écrire vos tableaux 2D.OriginalL'auteur
Quel système d'exploitation utilisez-vous? Êtes-vous sûr que votre système de PIM1 codec installé?
J'utilise windows, et je peux l'utiliser
cv.FOURCC(*"DIB ")
pour la vidéo non compressée, ou de l'utilisation de -1 à montrer un codec boîte de dialogue.Après avoir installer ffdshow, je peux utiliser
cv.FOURCC(*"ffds")
pour encoder la vidéo en MPEG-4.OriginalL'auteur HYRY
Bonjour, je suis nouveau sur opencv et j'ai eu ce même problème. Il semble que l'écrivain.write(x) x pour être un tableau de pentecôte valeurs RVB et non scalaires. J'ai résolu le problème en faisant ceci:
Je suppose, sont plus propres façons de le faire, mais je n'ai trouvé aucun.
OriginalL'auteur creyesk