[Jderobot-dev] Mostrar imagen tratada en el GUI basic_component

Alejandro Hernández ahcorde en gmail.com
Vie Feb 15 14:08:01 CET 2013


Hola Eloy,

te comento, en el código hay una variable que se llama *imfBuff*  (Buffer
que contiene la imagen que quieres mostrar por pantalla)* y gtkimage* ( que
es de tipo Gtk::Image* y es el widget que contiene la imagen de la interfaz
gráfica) . Tienes que modificarlo para que muestre la que tu quieras. Por
ejemplo si quieres mostrar en la GUI la imagen en escala de grises greyMat

Glib::RefPtr<Gdk::Pixbuf> imgBuff =  Gdk::Pixbuf::create_from_data((const
guint8*) *greyMat.data*,
                                    Gdk::COLORSPACE_RGB,
                                    false,
                                    8,
                                   * greyMat.cols*,
                                   * greyMat.rows*,
    *greyMat.step*);

gtkimage->set(imgBuff);

Saludos

Álex.

El 15 de febrero de 2013 13:45, Eloy <abanibiaboebe en gmail.com> escribió:

> Hola, tengo una duda acerca de como mostrar una imagen tratada, en el gui
> de basic_component.
>
> En el hilo de control tengo lo siguiente:
> *
> *    void Control::UpdateSensorsICE(Api *api) {
>
>         pthread_mutex_lock(&api->controlGui);
>
> *        //Obtengo la imagen de la camara*
>         jderobot::ImageDataPtr imageFromIce = this->cprx1->getImageData();
>         colorspaces::Image::FormatPtr fmt =
> colorspaces::Image::Format::searchFormat(imageFromIce->description->format);
>
>         if (!fmt)
>             throw "Format not supported";
>
> *        //Matriz de openCv con la imagen de Ice*
>         cv::Mat matFromIce (imageFromIce->description->height,
>            imageFromIce->description->width,
>            CV_8UC3,
>            &(imageFromIce->pixelData[0]));
>
> *        //Matriz en grises*
>         cv::Mat greyMat;
>
> *        //Convierto a grises la imagen de la camara*
>         cv::cvtColor(matFromIce, greyMat, CV_BGR2GRAY);
>
>         std::cout<< greyMat;
>
>      *   //Paso la imagen greyMat al gui????
>         //Asi me coge lo que hay en la camara.*
>         api->imageData1 = this->cprx1->getImageData();
>
>
>         pthread_mutex_unlock(&api->controlGui);
>
>     }
>
> Mi pregunta es: ¿Cómo hago para mostrar la imagen en el gui?
> ¿Como codifico la imagen de cv greyMat para pasarla a
> jderobot::ImageDataPtr y poderla visualizar en el GUI?
>
> Un saludo
>
> _______________________________________________
> Jde-developers mailing list
> Jde-developers en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
>


-- 
Alejandro Hernández Cordero

<http://www.linkedin.com/in/ahcorde/en>  <https://twitter.com/ahcorde>
<https://plus.google.com/u/0/114434050324725472734/posts>
  <http://github.com/ahcorde>

Play and visit my Curriculum vitae ->
https://googledrive.com/host/0BytBL_SySiIjX19Pd1o5dlZaRHc/Game.html
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20130215/470efa2b/attachment.htm 


More information about the Jde-developers mailing list