How to work with large (5ft+) images?

Questions and postings pertaining to the usage of ImageMagick regardless of the interface. This includes the command-line utilities, as well as the C and C++ APIs. Usage questions are like "How do I use ImageMagick to create drop shadows?".
Post Reply
mankyd

How to work with large (5ft+) images?

Post by mankyd »

Just wondering if someone has more familiarity with this subject than myself. I'd like to produce large sized images (montages of as many as 10,000 smaller images) for poster printing. 300dpi would be my ideal resolution but that's flexible. I've got all the source images that would make up the final result; they exist in three different size: 9x9, 60x60, and 300x300.

What is the best way to go about this? How big can you make an image before the processing/time requirements become unwieldy? What about memory requirements? And suggestions for a file format to save in?

All my source images are png. Ideally I'd like each one to be 1 square inch of a 300dpi resolution poster.
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Post by magick »

We've converted images as large as 250,000 by 250,000 pixels. You can speed things up a bit by specifying the final size of the montage in a number of places. ImageMagick uses the information to optimize its resource requirements. For example:
  • montage -size 160x160 '*.jpg[160x160]' -geometry 160x160 poster.jpg
See http://magick.imagemagick.org/script/architecture.php for a discussion of best practices when dealing with large images.
mankyd

Post by mankyd »

That's awesome, thanks. I've got some more experimenting to do.

Right now I'm not actually using the montage functions at all (note: I'm using magick++.) I create the output Image, open up each source tile once, composite into the output wherever its needed (usually needed in several different locations,) close the source image and move onto the next one.

Would using the montage functions show me any significant advantage? From what I can see, it requires that I open all the source images at once before calling the montage function. I would think this would cause an added burden on the memory.
mankyd

Post by mankyd »

I should add this this self-montaging of a few thousand images in 10,000 places takes anywhere from 2-5 minutes.
User avatar
anthony
Posts: 8883
Joined: 2004-05-31T19:27:03-07:00
Authentication code: 8675308
Location: Brisbane, Australia

Post by anthony »

You may like to look at the last parts of DIY dithering using external images.
IM Examples, Quantization and Dithering, Dithering with Symbol Patterns
http://www.cit.gu.edu.au/~anthony/graph ... iy_symbols

If you feed IM with images which are all the same size and sorted by intensity and color, you can index the image to use for each pixel in the source image.

Note at that scale you may like to work in smaller sets of images, so as not to overload the memory requirements for the final image.
Anthony Thyssen -- Webmaster for ImageMagick Example Pages
https://imagemagick.org/Usage/
Post Reply