[Jderobot-dev] Opencv2.3 y Opencvdemo

Daniel Gomez Gomez danigom en terra.es
Lun Feb 27 10:57:57 CET 2012


Buenas:

Gracias por responder.

Tengo otra pequeña duda. En una parte del código de Opencvdemo aparece
esta linea:

indice = posY*imagenO->widthStep+posX*imagenO->nChannels;

siendo imagenO de tipo puntero a IplImage. Bien, con cv::Mat hay un
método que te devuelve el número de canales pero no hay ningún
procedimiento que te devuelva el "widthstep". Según la documentación el
parámetro widthstep es lo que sigue:

int widthStep¶
        
        The size of an aligned image row, in bytes.
        
No he visto que haya ningún método para cv::Mat que te devuelva este
parámetro con lo que lo tendré que calcular pero la definición me
confunde un poco. 

Hay un parámetro en el constructor de cv::Mat que es step y su
definición es esta:

step – Number of bytes each matrix row occupies.

Mi pregunta es: ¿El widthStep es el tamaño en bytes de una fila de la
matriz? Eso de "aligned image row" es lo que me confunde.

Gracias.

Saludos.



El vie, 24-02-2012 a las 13:39 +0100, Julio Guillén escribió:
> Tienes que emplear la función Laplacian:
> 
> C++: void Laplacian(InputArray src, OutputArray dst, int ddepth, int
> ksize=1, double scale=1, double delta=0, int
> borderType=BORDER_DEFAULT )
> 
> Te recomiendo la documentación online de OpenCV 2.3.1, que incluye
> python C y C++.
> 
> http://opencv.itseez.com/index.html
> 
> 
> Saludos !
> 
> 
> El 24 de febrero de 2012 13:10, Daniel Gomez Gomez <danigom en terra.es>
> escribió:
>         Buenas a todos:
>         
>         Sigo en mi búsqueda. Viendo el código de opencvdemo veo que la
>         función
>         Laplace, por ejemplo, espera un argumento tipo  struct CvArr*.
>         (Varias
>         funciones de OpenCV que usa opencvdemo utilizan este tipo de
>         datos)
>         
>         Solo quería preguntar si este tipo es compatible con Mat ya
>         que sí que es
>         compatible con IplImage y con CvMat pero no sé si acepta Mat.
>         
>         Gracias.
>         
>         Saludos.
>         ----- Original Message -----
>         From: "JoseMaria" <josemaria.plaza en gmail.com>
>         To: "Daniel Gomez Gomez" <danigom en terra.es>
>         Cc: <jde-developers en gsyc.es>
>         Sent: Wednesday, February 22, 2012 12:34 PM
>         Subject: Re: [Jderobot-dev] Opencv2.3 y Opencvdemo
>         
>         
>         > Hola Daniel,
>         >
>         > echa un ojo a la documentación de opencv-2.3 hombre! Seguro
>         que ahí
>         > vienen funciones equivalentes o similares para hacer eso
>         mismo.
>         >
>         > Además de los tutoriales que vienen al descargarte la última
>         versión del
>         > código fuente, tienes mucha información en línea [1].
>         También tienes
>         > ejemplos en el tgz de la última versión del código fuente.
>         Echales un
>         > vistazo y nos cuentas cómo resolverlo.
>         >
>         > Ánimo con la búsqueda,
>         >
>         > JoseMaria
>         > [1] http://opencv.itseez.com/
>         > On Wed, 2012-02-22 at 12:26 +0100, Daniel Gomez Gomez wrote:
>         >> Buenas:
>         >>
>         >> He leido el correo al que se referia Julio en las listas de
>         correo y me
>         >> gustaría saber si también existen conversiones para las
>         funciones
>         >> cvCreateImage, cvLaplace, cvCvtColor o cvConvertScale de
>         opencvdemo.
>         >> Estas funciones esperan un tipo IplImage y no un tipo Mat.
>         >>
>         >> Según he entendido a los tipo Mat no les hace falta un
>         cvReleaseImage ya
>         >> que se gestionan solos el uso de memoria.
>         >>
>         >> Jose María:
>         >>
>         >> He comprobado en el portátil que tanto ColorTuner como
>         opencvdemo usa
>         >> las librerías de Opencv2.3:
>         >>
>         >> libopencv_core.so.2.3
>         => /usr/local/lib/libopencv_core.so.2.3
>         >> (0x121d4000)
>         >> libopencv_imgproc.so.2.3
>         => /usr/local/lib/libopencv_imgproc.so.2.3
>         >> (0x1a876000)
>         >> libopencv_highgui.so.2.3
>         => /usr/local/lib/libopencv_highgui.so.2.3
>         >> (0x00714000)
>         >> libopencv_ml.so.2.3 => /usr/local/lib/libopencv_ml.so.2.3
>         (0x00de7000)
>         >> libopencv_video.so.2.3
>         => /usr/local/lib/libopencv_video.so.2.3
>         >> (0x00b38000)
>         >> libopencv_features2d.so.2.3
>         >> => /usr/local/lib/libopencv_features2d.so.2.3 (0x0dd7e000)
>         >> libopencv_calib3d.so.2.3
>         => /usr/local/lib/libopencv_calib3d.so.2.3
>         >> (0x00c76000)
>         >> libopencv_objdetect.so.2.3
>         => /usr/local/lib/libopencv_objdetect.so.2.3
>         >> (0x0e5bf000)
>         >> libopencv_contrib.so.2.3
>         => /usr/local/lib/libopencv_contrib.so.2.3
>         >> (0x18a22000)
>         >> libopencv_legacy.so.2.3
>         => /usr/local/lib/libopencv_legacy.so.2.3
>         >> (0x1422a000)
>         >> libopencv_flann.so.2.3
>         => /usr/local/lib/libopencv_flann.so.2.3
>         >> (0x0e790000)
>         >>
>         >> El caso es, como ya dije, que colorTuner me funciona bien y
>         opencv
>         >> devuelve ese error en tiempo de ejecucion.
>         >>
>         >> Gracias por adelantado.
>         >>
>         >> Saludos.
>         >>
>         >> El mié, 22-02-2012 a las 11:29 +0100, Daniel Gomez Gomez
>         escribió:
>         >> > Buenas:
>         >> >
>         >> > Gracias a todos por contestar.
>         >> >
>         >> > Jose:
>         >> >
>         >> > Lo que me pasa es que en el portatil se queja cuando
>         ejecuto el
>         >> > opencvdemo
>         >> > pero el colortuner va bien. En el de sobremesa es donde
>         me funcionan
>         >> > ambos
>         >> > componentes correctamente. De todas formas probare lo que
>         me comentas
>         >> > aunque
>         >> > es raro ya que antes de instalar el Opencv 2.3 desinstale
>         la 2.2 en
>         >> > ambos
>         >> > equipos.
>         >> >
>         >> > Julio:
>         >> >
>         >> > Gracias por llamar mi atencion sobre ese hilo y sobre tu
>         experiencia
>         >> > con el
>         >> > error. Lo probare.
>         >> >
>         >> > Gracias a todos.
>         >> >
>         >> > Saludos.
>         >> >
>         >> > JoseMaria <josemaria.plaza en gmail.com> wrote:
>         >> >
>         >> > >Daniel,
>         >> > >
>         >> > >a ver si lo he entendido bien: ¿¿sí te funciona
>         opencvdemo retocado a
>         >> > >opencv-2.3 y no te funciona colortuner??
>         >> > >
>         >> > >La queja de:
>         >> > >OpenCV Error: Assertion failed (dims <= 2) in operator
>         IplImage,
>         >> > >suena rara si realmente estás usando opencv-2.3. Los
>         tipos IplImage se
>         >> > >dan por obsoletos a partir de esta versión y ahora sólo
>         se manejan
>         >> > >cv::Mat.
>         >> > >
>         >> > >Otra cosa que puedes verificar es con qué versión de la
>         biblioteca has
>         >> > >enlazado. Por ejemplo genera el ejecutable colortuner y
>         ejecuta: ldd
>         >> > >colortuner
>         >> > >Con eso puedes verificar con qué versión de opencv ha
>         enlazado
>         >> > >realmente
>         >> > >para generar el ejecutable.
>         >> > >
>         >> > >No creo que tenga nada que ver con las características
>         hardware de tu
>         >> > >equipo.
>         >> > >
>         >> > >JoseMaria
>         >> > >On Mon, 2012-02-20 at 13:04 +0100, Julio Guillén wrote:
>         >> > >> Te recomiendo que visites el hilo de Enero de la lista
>         de correo de
>         >> > >> desarrolladores titulado "JDErobot 5.0 y OpenCV
>         2.3.1". A lo mejor
>         >> > >> lo
>         >> > >> has pasado por alto y tiene info interesante al
>         respecto.
>         >> > >>
>         >> > >> Ese mismo fallo me daba a mi al intentar compilar
>         opencvdemo con la
>         >> > >> versión 2.3.1. Prueba a utilizar cv::Mat en
>         opencvdemo.cpp en vez de
>         >> > >> IplImage.
>         >> > >>
>         >> > >> Saludos
>         >> > >>
>         >> > >> El 20 de febrero de 2012 12:21, Alejandro Hernández
>         >> > >> <ahcorde en gmail.com> escribió:
>         >> > >>         Hola Daniel,
>         >> > >>
>         >> > >>
>         >> > >>         Tiene pinta de que estas usando una función
>         que devuelve una
>         >> > >>         imagen en blanco y negro y le estas pasando
>         una a color o al
>         >> > >>         revés.
>         >> > >>
>         >> > >>
>         >> > >>         Dime donde tienes el código y lo miro.
>         >> > >>
>         >> > >>
>         >> > >>         Álex
>         >> > >>
>         >> > >>         El 20 de febrero de 2012 12:00, Daniel Gomez
>         Gomez
>         >> > >>         <danigom en terra.es> escribió:
>         >> > >>
>         >> > >>                 Buenas a todos:
>         >> > >>
>         >> > >>                 A ver si me podéis ayudar. He
>         instalado las nuevas
>         >> > >>                 librerias de Opencv
>         >> > >>                 2.3 y adaptado los componentes
>         ColorTuner y
>         >> > >> Opencvdemo
>         >> > >>                 a estas
>         >> > >>                 librerias.
>         >> > >>
>         >> > >>                 He conseguido arrancar ColorTuner
>         usando la nueva
>         >> > >>                 version de las
>         >> > >>                 librerias pero Opencvdemo me da el
>         siguiente error:
>         >> > >>
>         >> > >>                 dgomezg en Matrix:~/jderobot5/opencvdemo
>         $ ./opencvdemo
>         >> > >>                 --Ice.Config=opencvdemo.cfg
>         >> > >>                 Loading glade
>         >> > >>                 OpenCV Error: Assertion failed (dims
>         <= 2) in
>         >> > >> operator
>         >> > >>                 IplImage,
>         >> > >>                 file
>         >> >
>         >> /home/dgomezg/OpenCV-2.3.1/modules/core/src/matrix.cpp,
>         line 472
>         >> > >>                 terminate called after throwing an
>         instance of
>         >> > >>                 'cv::Exception'
>         >> > >>                  what():
>         >> > >>
>         >> >
>         >> /home/dgomezg/OpenCV-2.3.1/modules/core/src/matrix.cpp:472:
>         >> > >>                 error: (-215) dims <= 2 in function
>         operator
>         >> > >> IplImage
>         >> > >>
>         >> > >>                 Abortado
>         >> > >>
>         >> > >>                 He buscado informacion en Internet
>         sobre este error
>         >> > >>                 sin resultados
>         >> > >>                 positivos.
>         >> > >>
>         >> > >>                 El caso es que, para más inri, si lo
>         hago desde el
>         >> > >>                 ordenador de
>         >> > >>                 sobremesa Opencvdemo se ejecuta
>         correctamente
>         >> > >> habiendo
>         >> > >>                 hecho lo mismo
>         >> > >>                 que en el portátil (que es donde me da
>         este error).
>         >> > >>
>         >> > >>                 No creo que fuera por las
>         especificaciones de mi
>         >> > >>                 portatil pero por si
>         >> > >>                 acaso os las pongo:
>         >> > >>
>         >> > >>                 Intel Core 2 Duo 2 Ghz
>         >> > >>                 2 GB RAM
>         >> > >>                 Tarjeta grafica Intel 965 Express
>         integrada
>         >> > >>
>         >> > >>                 ¿Alguna idea?
>         >> > >>
>         >> > >>                 Muchas gracias.
>         >> > >>
>         >> > >>                 Un saludo.
>         >> > >>
>         >> > >>
>         >> > >>
>         _______________________________________________
>         >> > >>                 Jde-developers mailing list
>         >> > >>                 Jde-developers en gsyc.es
>         >> > >>
>         >> > >>
>         http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>         >> > >>
>         >> > >>
>         >> > >>
>         >> > >>
>         _______________________________________________
>         >> > >>         Jde-developers mailing list
>         >> > >>         Jde-developers en gsyc.es
>         >> > >>
>         >> > >>
>         http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>         >> > >>
>         >> > >>
>         >> > >>
>         >> > >>
>         >> > >> --
>         >> > >>                                Logo
>         >> > >> Julio Guillén García
>         >> > >> Software Team Lead
>         >> > >> +34 657082696 ·
>         >> > >> julio.guillen en gmail.com
>         >> > >>
>         >> > >>
>         >> > >> Future Vehicles and Entrepreneurs
>         >> > >> E.T.S.I. Navales - Aula Fuve-E ·
>         >> > >> Avenida Arco de la Victoria s/n
>         >> > >> 28040 Madrid
>         >> > >> www.fuve-e.es
>         >> > >>
>         >> > >> facebook twitter linkedIn
>         >> > >> eco No me imprimas si no es
>         >> > >> necesario. Protejamos el medio
>         >> > >> ambiente
>         >> > >>
>         >> > >> Este correo electrónico y, en su
>         >> > >> caso, cualquier fichero anexo al
>         >> > >> mismo, contiene información de
>         >> > >> carácter confidencial
>         >> > >> exclusivamente dirigida a su
>         >> > >> destinatario o destinatarios. Queda
>         >> > >> prohibida su divulgación, copia o
>         >> > >> distribución a terceros sin la
>         >> > >> previa autorización escrita de
>         >> > >> FUVE-E
>         >> > >>
>         >> > >> En caso de no ser usted la persona
>         >> > >> a la que fuera dirigido este
>         >> > >> mensaje y a pesar de ello está
>         >> > >> continúa leyéndolo, ponemos en su
>         >> > >> conocimiento que está cometiendo un
>         >> > >> acto ilícito en virtud de la
>         >> > >> legislación vigente en la
>         >> > >> actualidad, por lo que deberá
>         >> > >> dejarlo de leer automáticamente.
>         >> > >>
>         >> > >> FUVE-E no es responsable de su
>         >> > >> integridad, exactitud, o de lo que
>         >> > >> acontezca cuando el correo
>         >> > >> electrónico circula por las
>         >> > >> infraestructuras de comunicaciones
>         >> > >> electrónicas públicas. En el caso
>         >> > >> de haber recibido este correo
>         >> > >> electrónico por error, se ruega
>         >> > >> notificar inmediatamente esta
>         >> > >> circunstancia mediante reenvío a la
>         >> > >> dirección electrónica del
>         >> > >> remitente.
>         >> > >>
>         >> > >> El correo electrónico vía Internet
>         >> > >> no permite asegurar la
>         >> > >> confidencialidad de los mensajes
>         >> > >> que se transmiten ni su integridad
>         >> > >> o correcta recepción, por lo que
>         >> > >> FUVE-E no asume ninguna
>         >> > >> responsabilidad que pueda derivarse
>         >> > >> de este hecho.
>         >> > >>
>         >> > >>
>         >> > >>
>         >> > >> _______________________________________________
>         >> > >> Jde-developers mailing list
>         >> > >> Jde-developers en gsyc.es
>         >> > >>
>         http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>         >> > >
>         >> > >--
>         >> > >http://gsyc.es/jmplaza
>         >> > >Universidad Rey Juan Carlos
>         >> > >
>         >> > >
>         >> > >_______________________________________________
>         >> > >Jde-developers mailing list
>         >> > >Jde-developers en gsyc.es
>         >> >
>         >http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>         >> > _______________________________________________
>         >> > Jde-developers mailing list
>         >> > Jde-developers en gsyc.es
>         >> >
>         http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>         >> >
>         >> >
>         >> >
>         --------------------------------------------------------------------------------
>         >> >
>         >> >
>         >> >
>         >> > Se certificó que el correo entrante no contiene virus.
>         >> > Comprobada por AVG - www.avg.es
>         >> > Versión: 8.5.455 / Base de datos de virus: 271.1.1/4220 -
>         Fecha de la
>         >> > versión: 02/19/12 19:34:00
>         >> >
>         >>
>         >>
>         >> _______________________________________________
>         >> Jde-developers mailing list
>         >> Jde-developers en gsyc.es
>         >>
>         http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>         >
>         > --
>         > http://gsyc.es/jmplaza
>         > Universidad Rey Juan Carlos
>         >
>         >
>         
>         
>         
>         --------------------------------------------------------------------------------
>         
>         
>         
>         Se certificô que el correo entrante no contiene virus.
>         Comprobada por AVG - www.avg.es
>         
>         Versiôn: 8.5.455 / Base de datos de virus: 271.1.1/4222 -
>         Fecha de la
>         versiôn: 02/20/12 19:34:00
>         
>         _______________________________________________
>         Jde-developers mailing list
>         Jde-developers en gsyc.es
>         http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>         
> 
> 
> 
> -- 
>                                Logo
> Julio Guillén García
> Software Team Lead
> +34 657082696 ·
> julio.guillen en gmail.com 
> 
> 
> Future Vehicles and Entrepreneurs
> E.T.S.I. Navales - Aula Fuve-E ·
> Avenida Arco de la Victoria s/n
> 28040 Madrid
> www.fuve-e.es
> 
> facebook twitter linkedIn
> eco No me imprimas si no es
> necesario. Protejamos el medio
> ambiente
> 
> Este correo electrónico y, en su
> caso, cualquier fichero anexo al
> mismo, contiene información de
> carácter confidencial
> exclusivamente dirigida a su
> destinatario o destinatarios. Queda
> prohibida su divulgación, copia o
> distribución a terceros sin la
> previa autorización escrita de
> FUVE-E 
> 
> En caso de no ser usted la persona
> a la que fuera dirigido este
> mensaje y a pesar de ello está
> continúa leyéndolo, ponemos en su
> conocimiento que está cometiendo un
> acto ilícito en virtud de la
> legislación vigente en la
> actualidad, por lo que deberá
> dejarlo de leer automáticamente. 
> 
> FUVE-E no es responsable de su
> integridad, exactitud, o de lo que
> acontezca cuando el correo
> electrónico circula por las
> infraestructuras de comunicaciones
> electrónicas públicas. En el caso
> de haber recibido este correo
> electrónico por error, se ruega
> notificar inmediatamente esta
> circunstancia mediante reenvío a la
> dirección electrónica del
> remitente. 
> 
> El correo electrónico vía Internet
> no permite asegurar la
> confidencialidad de los mensajes
> que se transmiten ni su integridad
> o correcta recepción, por lo que
> FUVE-E no asume ninguna
> responsabilidad que pueda derivarse
> de este hecho.
> 
> 
> 




More information about the Jde-developers mailing list