2
\$\begingroup\$

I'm working on a photography project at the moment for university where I have built an X Y gantry system which moves a camera along inside a box and takes dozens of photos. This is a very controlled environment, with ring flash for evenly distributed light for each photo and a gantry system that can overlap each image within mm precision.

So far I was using Microsoft ICE to manually stitch these "panoramas" but I would like to automate the process now using hugin or similar photo stitching software.

However, I also then thought of google maps. That is the same effect I would want to be able to achieve. Google maps is a tiling system is it not? The photos are not stitched, they are tiled to align with each other, is that correct? Is there software out there that can achieve this?

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Google maps has a number of map products and it would help to know which you mean. In the top-down aerial view the maps are stitched then tiled (the process is merged due to the fact they have very good geospatial metadata in their source images to identify which image(s) are needed to build a particular tile.) Also the images are often taken using a slit-scan technique which will produce a different output than a collection of stills. \$\endgroup\$ Jan 16, 2014 at 14:08

3 Answers 3

1
\$\begingroup\$

If the overlap is always exactly the same and you want it disposed of in the same way, you could use ImageMagick, and specifically its montage subprogram. This is outlined in detail with great examples at ImageMagick v6 Examples -- Montage, Arrays of Images, and I won't duplicate that here.

If things vary slightly from image to image and from run to run, though, I think the hugin/panorama approach is probably better.

Alternately, if it gets complicated, you may be best off writing a script in Python using the Python Imaging Library (a.k.a. PIL). At that point, though, this is a question for https://stackoverflow.com/. :)

\$\endgroup\$
0
\$\begingroup\$

Have you considered any of the software designed to work with a GigaPan? They've got software that's included when you buy one of their units, but they've also got a software page that lists the base Stitch software, and upgraded StitchEfx package and two versions of Autopano, including one that's designed to work with GigaPan. One of these might very well be a good fit for you.

\$\endgroup\$
-1
\$\begingroup\$

Something as basic as (free) Irfanview can tile if desired.
The facility is limited but seems to match what you want well.

From the insert menu (insert, panorama), or from the command line ( /panorama ) the panorama command will add images either in a row left to right or in a column vertically. For a "w" wide by "h" high array, by adding w images in h sets to make rows and then combining all the sets vertically you get your array.

For equal sized images the output file is an unscaled tiling of the input images - at least size wise. A small amount of experimentation would show if it does anything nasty..

While the command is termed a "panorama" it appears to be a simple edge to edge tiling - just what you want.

Interimage spaces can be specified, but can be zero.

The command appears to make the resultant image to be the height of the shortest image in the row - if they are all the same size this should not be a problem.

enter image description here

Larger

Trial: Landscape images were the same size. Proper boundary alignment can be seen in the bottom two rows. The top row is skewed by inclusion of the portrait mode image.


Untried:

The Irfanview contact sheet command may also be useful - but memory may be an issue. This creates a W x H contact sheet. By suitable selection of output sheet size lossless tiling of iunput files may be possible. Or Not.

\$\endgroup\$
7
  • \$\begingroup\$ Thanks for your answer Russell. I might not have explained it properly but the images I want to tile are dozens of singular images that combine to make one large image. Like a panorama. The gantry will move in a snaking pattern across a grid collecting the photos with a small overlap between each image. \$\endgroup\$
    – Colin
    Jan 16, 2014 at 13:16
  • \$\begingroup\$ @Colin Evidently the downvoter thinks what I suggested does not do what you want - or just can't read or doesn't care. Irfanview/panorama can accept an overlap - effectively a negative gap between images. If your images are rectangular and arranged on a rectangular grid then it (still) seems that Irfanview may do exactly what you want. An issue is how to deal with the overlap. Irfanview overlays the right hand images over the left hand ones when tiling left to right. And overlays the lower images over the edges of the top ones when tiling top to bottom. \$\endgroup\$ Jan 16, 2014 at 14:17
  • \$\begingroup\$ I didn't downvote, but I do sometimes wonder if you get a percentage of Irfanview's sales. (I know it's freeware, but maybe they make that up in bulk?) :) In seriousness, I expect that the downvote is because the question asks for a way to automate the process, and this seems to be another way to use a GUI tool. Maybe some clarification about the automation potential would help? \$\endgroup\$
    – mattdm
    Jan 16, 2014 at 16:14
  • \$\begingroup\$ I downvoted. Assuming the automation can be done (which was not addressed) the results would be vastly inferior to the output of ICE or Hugin since mm control of the camera is not all that accurate in photography (and especially stitching) terms. As such it is merely a worse manual process than the manual process they already have. \$\endgroup\$ Jan 16, 2014 at 20:51
  • 1
    \$\begingroup\$ @mattdm - [iRFANVIEW ADDON TO AN ANSWER JUST FOR YOU :-} [photo.stackexchange.com/questions/46980/… - and, yes, it would be a poor tool to use in that case, alas. \$\endgroup\$ Jan 17, 2014 at 9:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.