NOTe this is a linux/UNIX script...
overlap image_1.png image_2.png image_3.png image_4.png
The first image should be the largest 'merged image' created so far.
The output image is merged_001.png .... merged_003.png
with each merger hadding one more 'match', and the script using that last output for testing it against the next image in the list.
In other words the first command is equivlent to
overlap image_1.png image_2.png
overlap merged_001.png image_3.png
overlap merged_002.png image_4.png
Adding a -v will display verbose information of the points and offsets it find and uses to attempt a match, it only thinks it succeeds if three identical matches from the second image are found in the first image for each image being merged.
Points searched for are high entropy points that are as widly spaced across the image as posible. That is first will be in one corner, The next attempt second will be based on a high entropy point in another corner, and so on. This means it may have to go though a 10 or more attempts before it find the 3 matches.
There are options to specify a single 'high entropy' point, the radius around that point, or a area that overlaps, that is located in the second image, to search for in the first image to find the 'overlap'.
I found it works very well, and not too slow. However remember this is ment only for images which match almost perfectly, and only differ by a integer translation (offset).
Fo an example of results of this script see...
Note the haphazard way in which the overlapping maps 'fitted' together, sometimes with gaps. The script failed with some ocean maps (not many entropy points) but corrected itself when other maps linked the ocean shores around the edge.
Aside the game is minecraft, and I pretty well mapped all of this area myself.
Now in-game maps are arranged as a grid without overlaps, so I don't use the 'overlap' script as much as I used to.
For example.. Grid (appened) map in later games.