[GEM-dev] pix_artoolikit is finally working on linux.

IOhannes zmölnig zmoelnig at iem.at
Tue Apr 5 09:45:42 CEST 2011


On 04/04/2011 07:37 PM, cyrille henry wrote:
> hello,
>
> after lot's of times to understand the problem, Antoine and me finally
> realise that artoolkit use RGB image on linux, but pix_opencv provide
> RGBA image.

well Gem generally provides RGBA images, not only pix_opencv.

> He made a working prototype using the code on the svn, and openCV
> conversion routine.
>
> is there a Gem way to convert RGBA to RGB? (in order to remove openCV
> dependency)
> (this look to be mandatory only on linux)

<code>
imageStruct*rgbaimage=...;
imageStruct rgbimage;
rgbimage.convertFrom(rgbaimage, GL_RGB);
</code>

simple, isn't it?

>
> Here is the code that we are now using...
> (makefile should be manually adjusted since we don't know how to deal
> with autoconf).
>

next time, it would be great if you could simply send the "svn diff", 
which is a trifle smaller than the full zip :-)



anyhow, thanks for looking at [pix_artoolkit].
i'm a bit hesitant to blindly include the propsed change, mainly because 
it seems to be a bit like magic to me.
is there any documentation about RGB being used on linux rather than RGBA?
the only thing i found is [1], which states that the color is "platform 
specific" (whatever that means), and that it is usually ARGB though the 
order of r,g,b components is irrelevant, which i always read is a 32bit 
pixel. obivously this is wrong.
there seems to be a typedef AR_PIXEL_FORMAT, but i haven't seen it being 
used anywhere (but i only look at the online docs and not at some actual 
code)

so now the way to proceed would be:
- find a way to reliably detect which format is needed by a ARToolkit 
(preferrably at runtime, rather than at compile time)
- convert to the requested format using Gem's convertFrom/convertTo 
routines (and extend that, if a format is missing)

even better would be if we could tell ARToolkit which format we want to 
present the data in (it seems a bit weird to let Gem convert from YUV to 
RGB, and then ARToolkit will convert from RGB to Grayscale)


fgamsdr
IOhannes






[1] 
http://artoolkit.sourceforge.net/apidoc/ar_8h.html#b2868d9587c68fb7255d4f270bcf878f



More information about the GEM-dev mailing list