Sono nuovo in Python (2.7) e cerco di lavorare sull'elaborazione video (con modulo openCv "cv2"). Iniziando con le esercitazioni, provo a utilizzare lo script di this tutorial: paragrafo "Salvataggio di un video". Tutto funziona bene eccetto che il il video che sto salvando è vuoto. Posso trovare output.avi nella mia directory ma la sua dimensione di memoria è 0kb an, ovviamente quando lo eseguo, nessun video viene visualizzato.Salvataggio di una cattura video in python con openCV: video vuoto
Dopo alcuni cambiamenti Ecco il mio codice:
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
# Define the codec and create VideoWriter object
#fourcc = cv2.VideoWriter_fourcc(*'DIVX')
fourcc = cv2.cv.CV_FOURCC(*'DIVX')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))
while(cap.isOpened()):
ret, frame = cap.read()
if ret==True:
# write the flipped frame
out.write(frame)
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
# Release everything if job is finished
cap.release()
out.release()
cv2.destroyAllWindows()
Qualcuno sa il motivo per cui non funziona correttamente?
Grazie mille. Edwin
Per Sauruxum: Ciao, grazie per la tua risposta. Ho provato questo, Cap.isOpened() restituisce True in realtà. Posso persino vedere la cattura in diretta così da entrare nel ciclo while. Grazie comunque. Quello avrebbe potuto essere il problema. – probaPerception
Siamo spiacenti. Sono stupido e non ti ho visto usato davvero quel metodo. Tuttavia, se si passa a quel metodo (si può vedere il feedback della telecamera) e non si ottiene alcun file video, qualcosa del ciclo non funziona. Non è che stai ricevendo un video posteriore con X frame; i fotogrammi non vengono salvati sul file in modo da avere un file 0kB. O potrebbe essere il codec? –
Per Sauruxum: hai ragione. C'è qualcosa di sbagliato nel ciclo. Entra nel ciclo ma non salva. Non so nulla di codec. Che cos'è ? Cosa può esserci di sbagliato? Saluti. – probaPerception