Python - Error al guardar un archivo opencv cv2.py out.write(frame)

   
Vista:

Error al guardar un archivo opencv cv2.py out.write(frame)

Publicado por Alejandro alejandro_sp3@hotmail.com (5 intervenciones) el 27/04/2015 11:29:44
SOLUCION:
Hola chic@s llevo varios días intentando solucionar un problema con el código Opencv al guardar una captura de vídeo en formato AVI.

Me costo mucho dar con la solución al problema porque los foros en ingles nadie sabe porque ocurre.

He comprobado el código de la web y funciona correctamente, el problema consiste que el fichero que crea output.avi se queda en 0KB. La solución al problema del fichero es cambiar fourcc tienen que ir a la web de códec y dar con uno que les funcione y con eso dejara de estar en 0kb

También en algunos casos es por la resolución (640,480) lo podrían solucionar con este código.

1
size = (int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)))




Codigo de Open CV para videos en phython

http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_gui/py_video_display/py_video_display.html#display-video

Códigos o códec fourcc

http://www.fourcc.org/codecs.php




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import numpy as np
import cv2
 
cap = cv2.VideoCapture(0)
 
# Define the codec and create VideoWriter object
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))
 
while(cap.isOpened()):
    ret, frame = cap.read()
    if ret==True:
        frame = cv2.flip(frame,0)
 
        # 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()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
2
Responder
Imágen de perfil de xve

Error al guardar un archivo opencv cv2.py out.write(frame)

Publicado por xve (1229 intervenciones) el 27/04/2015 15:14:15
Excelente Alejandro!!!

Gracias por compartirlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar