elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Error cvFindContour en Opencv
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error cvFindContour en Opencv  (Leído 2,182 veces)
JaviWar

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Error cvFindContour en Opencv
« en: 19 Marzo 2013, 18:43 pm »

Buenas estoy intentando contar los contornos de una foto que contiene pelotas.
Este es el código y el error que me da al ejecutar. No sé a que puede ser debido. La apli no esta terminada.

CODIGO

#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
#include "stdio.h"

int Nc;
CvSeq* contour = NULL;

int main(int argc, char* argv[]){
   
   static CvMemStorage* memoria = 0;

   cvNamedWindow( "Contours 2", 1 );
   IplImage* img_color = cvLoadImage( "celulas.jpg", 0 );   
   IplImage* img_contorno = cvCreateImage( cvGetSize(img_color), 8, 1 );
   IplImage* img_final = cvCreateImage( cvGetSize(img_color), 8, 3 );
   
   cvThreshold( img_color, img_contorno, 50,150, CV_THRESH_BINARY );

   Nc = cvFindContours(img_contorno, memoria, &contour,sizeof(CvContour),CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0) );   

   printf( "Total Contours Detected: %d\n", Nc );

   cvShowImage( "Contours 2", img_contorno );

   cvWaitKey();
   cvDestroyWindow( "Contours 2" );
   cvReleaseImage( &img_color );
   cvReleaseImage( &img_contorno );
   cvReleaseImage( &img_final );
   return 0;
}

ERROR

OpenCV ERROR: Null pointer ()
   in function cvStartFindContours, cvcontours.cpp(209)
Terminating the application...
Violación de segmento


En línea

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Error cvFindContour en Opencv
« Respuesta #1 en: 19 Marzo 2013, 23:11 pm »

Lo más seguro es que se te haya olvidado inicializar la memoria:
Código
  1. static CvMemStorage* memoria = 0;
Que conste que no entiendo de OpenCV pero es lo más lógico siendo una violación de segmento.Para inicializarla creo que debes hacer esto:
Código
  1. memoria = cvCreateMemStorage(0);
¡Un saludo!


« Última modificación: 19 Marzo 2013, 23:52 pm por avesudra » En línea

Regístrate en
JaviWar

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Error cvFindContour en Opencv
« Respuesta #2 en: 20 Marzo 2013, 11:51 am »

Muchas gracias, voy a probar, es que llevo con esto bastante y no me acaba de quedar claro, como no hay nada así especifico para ver como van las cosas... es un poco un lío.

Probado y perfecto, muchas gracias de nuevo.
« Última modificación: 20 Marzo 2013, 11:56 am por JaviWar » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema opencv y Objectmarker
Programación C/C++
smasher666 0 3,899 Último mensaje 3 Octubre 2010, 12:52 pm
por smasher666
Compilar OpenCV de forma estática
Programación C/C++
paju1986 0 3,120 Último mensaje 7 Diciembre 2010, 23:23 pm
por paju1986
OpenCv
Programación C/C++
hojanico19 0 2,679 Último mensaje 17 Julio 2012, 19:57 pm
por hojanico19
OpenCV y reconocimiento de patrones
Programación General
alex_uam 0 2,403 Último mensaje 11 Junio 2013, 20:46 pm
por alex_uam
OpenCV y reconocimiento de patrones
Programación General
alex_uam 5 9,841 Último mensaje 24 Noviembre 2015, 19:05 pm
por JJ91
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines