[Jderobot-dev] Opencv2.3 y Opencvdemo

Daniel Gomez Gomez danigom en terra.es
Mar Feb 28 10:47:09 CET 2012


Gracias por responder, Alex.

Una pregunta rápida ya que aún no tengo forma de saber si lo estoy
haciendo bien o mal.

En muchas partes del código de Opencvdemo se accede a la parte de datos
de IplImage de esta forma:

r = (float)(unsigned int)(unsigned char) cvResultado->imageData[i*3];

¿En cv::Mat se podría acceder del mismo modo sin problemas? (cv::Mat
tiene un campo data de tipo *uchar);

Gracias.

Saludos.



El lun, 27-02-2012 a las 11:09 +0100, Alejandro Hernández escribió:
> Hola Dani,
> 
> 
> el indice queda de manera parecida para cv::Mat :
> 
> 
> indice = posY*imageCV.step+posX*imageCV->channels;
> 
> 
> Álex.
> 
> El 27 de febrero de 2012 10:57, Daniel Gomez Gomez <danigom en terra.es>
> escribió:
>         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.
>         >
>         >
>         >
>         
>         
>         _______________________________________________
>         Jde-developers mailing list
>         Jde-developers en gsyc.es
>         http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>         
> 
> 




More information about the Jde-developers mailing list