Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
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:
Si alguien me puede ayudar le estaria agradecido.
Saludos y gracias.
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!
Muchas gracias zuma.
Al final era que tenia que compilar el proyecto C++ como proyecto C. xD
Saludos.
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 🙂