fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Problemas OpenCV
 
Avisos
Vaciar todo

Problemas OpenCV

4 Respuestas
3 Usuarios
0 Reactions
17.1 K Visitas
ionthas
Respuestas: 153
Topic starter
(@ionthas)
Estimable Member
Registrado: hace 16 años

Buenas a todos.

Tengo problemas al ejecutar ese programa simple con las librerias OpenCV, utilizo el Visual Studio 2005.

#include "highgui.h"
int main( int argc, char** argv ) {
IplImage* img = cvLoadImage( argv[1] );
cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE );
cvShowImage( "Example1", img );
cvWaitKey(0);
cvReleaseImage( &img );
cvDestroyWindow( "Example1" );
}

He seguido los pasos de esa web para agregar las librerias, tambien he puesto la variable de entorno PATH como tiene que ser.

http://zarzamora.com.mx/archivo-historico/316

El programa me compila bien pero me salta ese error:

erroropencvta6.th erroropencvta6.th

Si alguien me puede ayudar le estaria agradecido.

Saludos y gracias.

Responder
3 respuestas
zuma
Respuestas: 23
 zuma
(@zuma)
Eminent Member
Registrado: hace 19 años

Buenas Wolfskin,

A ver si te puedo echar una manilla con suerte. Por lo que pones puede ser varias cosas

1º) En la línea 3 del código, donde pones :

IplImage* img = cvLoadImage( argv[1] );

-> Prueba a comprobar si te carga bien la imagen comprobado que no apunta a null, vamos, pon un

if(!img){
printf("nError cargando fichero");return 0;
}

Si apunta a null puede ser porque necesita que definas un espacio de color de referencia para cargar la imagen, y eso lo puedes hacer colocando un flag en el cvLoadImage(nombre_fichero, flag). Mirate la documentación de la API, que yo ahora no me acuerdo de memoria de los que hay.

Si sigue sin funcionar pasemos al punto siguiente

2º) Puede que falten las dll de OpenCV o éstas estén corruptas
-> por el mensaje que muestras en pantalla no lo creo probable, ...pero por probar que no falte.

Como el 2º no va a ser, y si sigue petando, prueba esto último

3º) Puede (y sólo puede) que al copiar las librerías( los .lib, me refiero) de OpenCV no sean compatibles con la versión de VS 2005(en alguna que otra librería me ha pasado que funcionaba bien en VS y en Borland no , o viceversa)
->Para comprobarlo bastaría con recompilar uno de los ejemplos, si no tira, puede ser este el fallo.
->La solución es recompilar el código de OpenCV para tu entorno de desarrollo. En principio no debería ser dificil, pues viene el proyecto para Visual Studio listo para ser compilado.

Una opción que se me ha ocurrido es que al ejecutarlo desde windows y no en modo consola no pille como parámetro el nombre del ficheo de imagen que quieres abrir,...prueba a hacer el cvLoadImage con un nombre de fichero de imagen que vayas a tener en la carpeta de ejecutable.

Suerte!

Responder
ionthas
Respuestas: 153
Topic starter
(@ionthas)
Estimable Member
Registrado: hace 16 años

Muchas gracias zuma.

Al final era que tenia que compilar el proyecto C++ como proyecto C. xD

Saludos.

Responder
fusion
Respuestas: 391
(@fusion)
Ardero
Registrado: hace 17 años

Creo que si cargas highgui.hpp en vez de highgui.h debiera valer. No puedo ayudarte mucho pues la version que tengo es la 2.4.13 y solo esta compilado para VS2012 y 2013 (ojo, no usar el 2010 que es muy malo), yo empleo el VS2013 que es gratuito para generar aplicaciones opensource

Tambien me compila con muy pocos cambios en debian 8 jessie 🙂

Responder
Compartir: