Bimostitch

Developer Contact Information: Email: android.bimostitch@gmail.com

Developer: Bupe Chomba Derreck (BCD)

Tools: NetBeans, Microsoft Visual Studio (C++), Xcode (SwiftUI, Objective - C/C++), Adobe XMP, Google Photosphere XMP metadata specs

Copyright © 2021 All rights reserved.

Use the above email to send feedback about challenges you may be having with using the app.

Bimostitch is a fully automated panorama stitcher that uses artificial intelligence to recognise panoramas from an unordered set of images or a panning video. It was developed by Bupe Chomba Derreck (BCD) and it begun as a research project into trying to understand how machines can be made to "understand" images or videos.


Over the years the algorithms have improved and will keep improving, but any product or technology has flaws and limits so if you want to get the best results follow these tips:


Tips on stitching great panos

• Photos that are plain or clear in the area of overlap will fail to stitch. Like some photos of a clear blue sky, it's difficult to tell where they join together.

• Non overlapping photos will be automatically ignored. This is obvious, the system needs to find where images connect with each other, thus if there are no shared features between images then they don't match and will not be part of the panorama.

• Use your favourite camera app to capture overlapping images.

• Make sure there is enough overlap area between photos. At least 25 % overlap is great.

• Use the camera lens as the rotation axis and not your body when capturing photos for stitching. Keep the lens or device at the same point as much as possible but rotate it in any direction to capture overlapping photos.

• Keep the lens or camera still when snapping to avoid motion blur.

• To help capture good overlapping shots keep track of the center of the previous shot and snap another when it reaches the edge.

• Avoid capturing photos in direct sunlight.

• Don’t merge photos with severe differences in lighting conditions.

• Avoid moving objects in the area of overlap.


You can also change some settings to help get better results where the default settings fail:


It is recommended to turn on preview mode so that you can quickly experiment with various options in the settings. If you have found a configuring that works then just turn off preview so that the app directly renders the final panorama.

When stitching it is important for the stitching system to identify where to cut images before blending them together, the cut normally leaves a seam ie a line visible to the naked eye that cuts across the panorama. There are three methods that Bimostitch uses for finding such seam lines namely, image borders - just uses image outlines, voronoi - is a line that is equidistant from the image centers and optimal - which tries to cuts where the images look similar to minimise the visibility of the seam line. The point of seamless panorama stitching is to eliminate those seam lines, thus to begin with optimal seam detection does a better job of minimising the seam lines prior to blending.

You can also change the quality of the detected seam lines in the settings. What that does is that it changes the resolution at which the seam line is calculated. So higher quality seam line detection uses higher resolution maps to compute the optimal seam lines hence slower. The lowest settings gives pretty descent results and is faster that is why it is the default.


The blending option is off for Image border seam detection since its very difficult to blend along image borders. You can control the amount of blending the app applies to the image using the blending strength slider. The strength actually is the blur filter radius used in the Laplacian style blending algorithm. The larger the radius the more uniform the images blend together but at a cost of more computational resource and time.


Best regards