Programación Específica > Inteligencia Artificial
procesamiento de imagenes Opencv
Gilmour:
Hola a todos.
estoy haciendo un programa en devc++ y estoy utilizando la libreria opencv.
tengo un problema y es que cuando recorro una imagen grande (1000x600) utilizando la sentencia "for" me aparece un error, el cual no sale cuando
trabajo con imagenes pequeñas (500x500). si alguien sabe algo, me seria de mucha ayuda. gracias.
posman:
Y cual es el error que te aparece?
Puede ser por el tipo como declaraste la variable que utilizas en el ciclo
Gilmour:
Primero que todo agradesco tu colaboracion. espero que me puedas ayudar.
a continuacion te explico con un poco de detalle en que consiste el problema.
realice un algoritmo para binarizar una imagen
en el primero caso cargo una imagen llamada "Para_Elisa.jpg" de tamaño 640x395 (tambien adjunta) en el cual no ocurre ningun problema.
en el segundo caso, utlizando el mismo codigo, cargo una imagen llamada "Himno.jpg" de tamaño 1093x660 (adjunta) en el cual aparece un mensaje que dice que "el programa dejo de funcionar".
Adjunto los dos codigos y las dos imagenes.
Gracias
posman:
Pues a mi me ejecuta bien el codigo, no aparece ningun error. Al final si me muestra la imagen.
Yo lo compile con MinGW (gcc 4.4.1)
Prueba utilizando distintos tipos para las variables i,j (unsigned int, unsigned long, o hasta double)
Este es el codigo que utilice
--- Código: C ---#include <cv.h>#include <highgui.h>#include <math.h> int main(int argc, char** argv) { CvScalar s0 = cvScalarAll(0); CvScalar s1 = cvScalarAll(255); IplImage *A = cvLoadImage(argv[1],1); for(int i=0;i<A->width;i++) for(int j=0;j<A->height;j++) { if ( (cvGet2D(A,j,i)).val[0] < 180 ) cvSet2D(A,j,i,s0); else cvSet2D(A,j,i,s1); } cvNamedWindow("ventana",0); cvShowImage("ventana",A); cvWaitKey(0); cvDestroyAllWindows(); cvReleaseImage(&A); return 0;}
Gilmour:
¿como puedo saber que compilador estoy usando?
¿y como lo puedo cambiar?
¿porque usas argv[1] como parametro en la funcion cvLoadImage?
probe tu codigo y me genera un error debido a esa linea.
Navegación
[#] Página Siguiente
Ir a la versión completa