[Jderobot-dev] Error de imagen en opencv por triplicado

Pablo Mayor Sanchez pablo.mayor.es en gmail.com
Jue Oct 25 08:40:26 CEST 2012


Hola Oscar , aquí tienes el código , supongo que sera lo que comentas
"CV_8UC3"  , en concreto la imagen que se triplica es de la image3


   void Viewer::display(const colorspaces::Image& image, const
colorspaces::Image& image2, const colorspaces::Image& image3) {
        IplImage src = image;
        IplImage src3 = image3;


        IplImage *gray;
        IplImage *dst;

        CvSize s = cvSize(image3.width, image3.height);

        Mat *in = cvCreateMat(image3.height,image3.width,CV_32FC3 );

        cvConvertImage(&image3,in);

        Mat myIplImageMat= cvCreateImage(cvSize(image3.width,
image3.height), 8, 3);;
        inRange(in, Scalar(0, 0, 0), Scalar(132, 220, 255), myIplImageMat);

        gray = cvCreateImage(cvSize(image.width, image.height), 8, 1);

        dst = cvCreateImage(cvSize(image.width, image.height), 8, 3);

        cvCvtColor(&src, gray, CV_RGB2GRAY);
        //Pasamos la referencia de la imagen a src que apunta a imagen
        cvCvtColor(gray, &src, CV_GRAY2RGB);
        cvReleaseImage(&gray);

        cvReleaseImage(&dst);

        colorspaces::ImageRGB8 img_rgb8(image); //conversion will happen if
needed
        Glib::RefPtr<Gdk::Pixbuf> imgBuff =
                Gdk::Pixbuf::create_from_data((const guint8*) img_rgb8.data,
                Gdk::COLORSPACE_RGB,
                false,
                8,
                img_rgb8.width,
                img_rgb8.height,
                img_rgb8.step);

        colorspaces::ImageRGB8 img_rgb8_2(image2); //conversion will happen
if needed
        Glib::RefPtr<Gdk::Pixbuf> imgBuff2 =
                Gdk::Pixbuf::create_from_data((const guint8*)
img_rgb8_2.data,
                Gdk::COLORSPACE_RGB,
                false,
                8,
                img_rgb8_2.width,
                img_rgb8_2.height,
                img_rgb8_2.step);

        //colorspaces::ImageRGB8 img_rgb8_3(R); //conversion will happen if
needed
        cv::Size myIplImageMat_size = myIplImageMat.size();
        //std::cout << "Width2=" << myIplImageMat_size.width << "Height2="
<< myIplImageMat_size.height << std::endl;
        Glib::RefPtr<Gdk::Pixbuf> imgBuff3 =
                Gdk::Pixbuf::create_from_data((const guint8*)
myIplImageMat.data,
                Gdk::COLORSPACE_RGB,
                false,
                8,
                myIplImageMat_size.width,
                myIplImageMat_size.height,
                myIplImageMat.step);

        gtkimage->clear();
        gtkimage->set(imgBuff);


        gtkimage2->clear();
        gtkimage2->set(imgBuff2);

        gtkimage3->clear();
        gtkimage3->set(imgBuff3);


        displayFrameRate();
        mainwindow->resize(1, 1);
        while (gtkmain.events_pending())
            gtkmain.iteration();


        /*
         * cameraview --Ice.Config=cameraview.cfg
         * cameraserver --Ice.Config=cameraserver.cfg
         */
    }












El 24 de octubre de 2012 23:10, Oscar Garcia <
oscar.robotica en linaresdigital.com> escribió:

> El mié, 24-10-2012 a las 22:54 +0200, Pablo Mayor escribió:
> > Buenas noches tengo una duda respecto a opencv , estoy utilizando la
> función inrange para extraer un determinado color, el problema está es que
> como salida me da tres imágenes iguales , eso si con un ancho de 1/3 más
> pequeño, supongo que será un problema de conversión de colorspace a mat
> pero me resulta extraño .
>
> ¿Podrías poner el código que usas?
>
> ¿El formato de entrada y de salida es CV_8UC3? ¿Cuál usas? ¿Has usado
> algún ROI?
>
> Si no usas el mismo tamaño de array de imagen que el array de
> comparaciones (usando Scalar, por ejemplo) pueden salir cosas raras (no
> he probado, estoy elucubrando).
>
> Mejor péganos tu código y así podremos ver más rápido dónde está el
> error.
>
> Un saludo.
>
> _______________________________________________
> Jde-developers mailing list
> Jde-developers en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20121025/e574d6d5/attachment.htm 


More information about the Jde-developers mailing list