Page 1 of 1

How does ImageMagick represent RGB image data internally?

Posted: 2009-05-27T09:57:22-07:00
by tgiles
I ask this question as I'm working on improving the efficiency of a program I've created that uses ImageMagick as a final post-processing step for adding overlays to a processed RGB image. In my experimenting, it appears that things run much faster for the same operations if I pass in a pixel-interleaved image to ImageMagick, and export it as pixel-interleaved at the end, as compared to using plane-interleaved. (I'm using the Magick++ API btw)

I assume this is because ImageMagick represents the image data as pixel-interleaved regardless of how it is initially presented to it, is this true? If so, is there any way to force ImageMagick to store and operate on the data internally as plane-interleaved rather than pixel-interleaved, as that is the way I'd like to export the Image data - and do so as fast as possible (i.e. get rid of the pixel/plane interleaved conversions).

Thanks for the feedback!

-Todd