1
\$\begingroup\$

I don't exactly know how to describe the problem. I have two maps that partly show the same extent of a place, but on the whole, the scale, rotation and protection might be different. I still want to put both pictures above each other so that I have both matching parts covered.

So far, I have been loading both images in Photoshop, turn on transparency for the covering layer and transform and rotate from all sides until the picture matches. The images that I am working with are quite large and my current solution is very slowly. I was wondering, whether there is a more elegant solution, similar to georeferencing?

Like I click on one location of a place in one picture that is also clearly obvious in the other, then click on the other picture to determine "this location on this picture is on that location on the other picture) and after defining a couple of such locations, the program distorts, stretches and whatnot the layer picture to make it fit.

I am just looking for a solution like this for Photoshop or any other program. Real-life coordinates are not important here!

Thanks a lot for your suggestions!

\$\endgroup\$
8
  • \$\begingroup\$ Perhaps the question should read: How to transpose one picture with reference points onto another picture? Transform or transpose ? "the scale, rotation and protection might be different." Hmmm. If they are not to the same scale, perspective and size then - - - not sure it is possible to make them match if that is the goal ? More details about what the end goal is may help. \$\endgroup\$
    – Alaska Man
    May 18, 2020 at 21:34
  • \$\begingroup\$ Then transpose is the better word, obviously. I am aware that the transposed picture will be distorted at some point, that doesn't matter. I just need to find a georeferencing-kind-of-way for normal pictures to make the identical parts match each other. \$\endgroup\$
    – Kai
    May 18, 2020 at 21:38
  • \$\begingroup\$ One way is to locate one point on both charts and move one over the other. Then locate another pair of matching points, and use a combined rotate/scale tool to make these other points coincide, using the first pair of points as the center of rotation and scale. But in the general case, charts won' necessarily match it, it will depend on the projection they use (even for quite local maps). \$\endgroup\$
    – xenoid
    May 19, 2020 at 7:39
  • 2
    \$\begingroup\$ For the general case, you can perhaps use panorama application (Hugin or else), they have tools to distort images to make manually set reference points correspond. \$\endgroup\$
    – xenoid
    May 19, 2020 at 7:41
  • 1
    \$\begingroup\$ I’m voting to close this question because it's not about photography. See photo.stackexchange.com/help/on-topic \$\endgroup\$
    – osullic
    Jun 30, 2020 at 16:55

3 Answers 3

1
\$\begingroup\$

It's funny you mention georeferencing. This is something all GIS programs can do quite easily (changing projections, mapping based on points, etc.).

If you don't necessarily have to use Photoshop, you could try using ArcMap (paid) or QGIS (free) to do this.

Edit: I just read you actually said you don't need to use Photoshop. So I'd definitely recommend using a GIS program. They will allow you to mark places on two seperate images, and then the program will fix the projection so the selected points match up exactly.

I vaguely remember using a really nice method years ago, but this link should get you started: https://desktop.arcgis.com/en/arcmap/10.3/manage-data/editing-existing-features/choosing-a-rubbersheet-method.htm

\$\endgroup\$
1
  • \$\begingroup\$ I know how to do it with ArcMap and QGIS, so that is not the problem. I wanted to know if there is a "relative" way, without using actual coordinates. I do have a vector layer in GIS that defines several areas over a city. Then I have some other maps of the same city that show different information. I then want to crop an image for every one of those areas from each map, but without losing quality. That's why I have a screenshot of the general map with the areas and use that as an overlay over my individual maps and then crop it. But the individual maps use different projections. \$\endgroup\$
    – Kai
    Jun 2, 2020 at 12:33
0
\$\begingroup\$

I'm not sure about the scale difference. I've never tried that. But Photoshop's PhotoMerge feature, which is used to create panoramic images from multiple smaller images is designed to do the rest of what you want to do.

If it can handle the different scale, all you would need to do is load the two images, then call up the function from File>Automation>PhotoMerge (menus may vary by version). It will give you a number of options to choose from and you may need to try different ones to see which works best for your specific images.

When you run the function, it will create a new image, using your two originals as layers in the new one, and matching and aligning them as much as it can, then masking out the layers to reveal one composite image. In doing so, it will twist and turn the images in the way you describe in order to make the major features of the images align.

You then have the option of doing whatever you want with those layers. Clear the masks and you will have two complete images. One or both may have been altered to suit, but they will align with each other, which seems to be your goal.

That is, IF it can handle the size difference.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ That is unfortunately not going to work because the maps are in a totally different style. The Photomerge would require that they look more or less the same, but my maps look entirely diffferent, except that they show the same location (respectively parts of it). \$\endgroup\$
    – Kai
    May 18, 2020 at 22:08
  • 1
    \$\begingroup\$ We're probably going to need to see examples, if they're so wildly different. \$\endgroup\$
    – Tetsujin
    May 19, 2020 at 5:36
  • \$\begingroup\$ Hugin (panorama stitching program, free and excellent) would be better suited to do this since you can manually pick control points. \$\endgroup\$
    – qrk
    Oct 23, 2021 at 19:52
0
\$\begingroup\$

You can use hugin to achieve that.

The approach would be approximately this (using the expert interface, because that's what I'm used to):

  1. Load images into hugin

  2. If the reference images is not loaded as the first image, right click on it pick "Anchor this image for position". After that, an 'A' will appear in the "Anchor" column for that image.

  3. a. If the images are of the same map, you should be able to use the "Create control points" to find the matching points automatically. This might not work too well, because the algorithms work best on photos. In that case, try the following:

    b. If point a. fails, or the images are different, eg. matching a historic map with a modern map, switch to the "Control poits" tab and pick the points that are same in all images.

  4. Now back in the "Photos" tab, pick what to optimize. In the case of maps, I would suggest "Positions, translation and view". What this does is that it essentially selects what operations to do to match the images. Eg. "positions" means optimizing yaw, pitch and roll (imaging moving the images as if they were laid out on a sphere, which is the most common case for panoramas where the camera is in the center and you rotate it to take shots). Translation means handling the camera movement along the subject, used eg. when stitching scans. You might get away with optimizing translation only. Try various options to see which works best for you. BTW, to reset the optimization results, right click on the images use the "Reset" menu

  5. Switch to the "Stitcher" tab. You might want to click "Calculate optimal size" to pick the best resolution.

  6. In the same tab, uncheck "Exposure corrected" in the "Panorama outputs". Instead, select "No exposure correction, low dynamic range" in "Remapped images"

  7. Finally click "Stitch!" and wait a while.

If you are doing this often, it's possible to automate most thinks using scripts, but I guess that's more advanced topic outside this question.

\$\endgroup\$

Your Answer

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

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