¿Podría ser que haya un error en OpenCV2.4 highgui para capturar fotogramas de video en Windows?Posible error en OpenCV2.4 capturando fotogramas del video
que instalé las bibliotecas precompilados, los compilados por mí, puedo compilar todo perfectamente y puedo ejecutar mis programas si
que son a base de imágenes. El problema es solo para videos. OpenCV se bloquea en esta función siempre:
virtual IplImage* retrieveFrame(int)
{
unsigned char* data = 0;
int step=0, width=0, height=0, cn=0;
if(!ffmpegCapture ||
!icvRetrieveFrame_FFMPEG_p(ffmpegCapture,&data,&step,&width,&height,&cn)) <-------CRASHES HERE
return 0;
cvInitImageHeader(&frame, cvSize(width, height), 8, cn);
cvSetData(&frame, data, step);
return &frame;
}
Esto está dentro de la clase cap_ffmpeg.cpp y es llamado por VideoCapture.
Probé las versiones 2.4.2 y 2.4.9. Mis programes estaban trabajando finde con opencv2
Más información
Windows 7
construir los proyectos con cmake (importante, ya que podría ser que cmake no está construyendo/hallazgo los códecs correctos)
VisualStudio 9 2008
OpenCV 2.4.2
EDITAR
Parece que en realidad es un bug, así, ¿cómo puedo solucionar este problema y cambiar el código para poder leer avi archivos?
¿Por qué no? Es software :) Parece que su problema se describe http://code.opencv.org/issues/2115 –
@Sergey jeje, sí, lo creo, pero es un dolor.Necesito desarrollar y ahora tengo que luchar con esto ... paciencia –
según la descripción que necesita para degradar 2.4-> 2.1 o simplemente arreglarlo usted mismo y publicar su parche para ayudar a otras personas :) Por lo que sé, es malo idea de usar ffmpeg en Windows. AFAIR debe ser captura de DirectDraw para OpenCV, pero tal vez estoy equivocado. –