SSARCandy / panoramas-image-stitching

🖼 Stitching images into 360 panoramas
https://ssarcandy.tw/2017/05/26/panorama-image-stitching/
214 stars 52 forks source link

2D Panorama Support #19

Open NaumanHSA opened 2 years ago

NaumanHSA commented 2 years ago

Hey ! I've been recently engaged in image stitching problem. I run your code and its results are fantastic. Most of stitching techniques loose image quality and they break if we try to stitch large number of images.

Your code worked perfectly on 30 images but is too slow in finding matches between two images. I've not dived deeper into your code yet but I wanted to ask if there's any 2d panorama support or at least can we try to add that? I've dataset of top-down images captured using GoPro fitted on a vehicle from a parking lot. There are multiple passes while single pass may contain 100+ images but in straight line. Two passes have overlap area so It becomes a 2d panorama problem. I want to somehow stitch all images together and reconstruct the whole parking-lot. Refer to the figure below:

Task Pipeline - Parking Lot Reconstruction

I was wondering if we work using this code as a base line code and add that feature as well. Thank you !!!

SSARCandy commented 2 years ago

Hi, so I think your use case is trying to stitch multiple pieces of panned images into a single one? I mention "panned images" is because, in this repository, I'm aiming to stitch panorama images, which are 2D images projected to a cylinder surface, this means in my code, there have a warping function that will deform the input images.

https://github.com/SSARCandy/panoramas-image-stitching/blob/f6e6ddc647682c0cd296e9316e17e17b1094834c/src/utils.py#L56

Sure you can use my code as a baseline, just remember to take out those warp functions, and will be good to go.

The issue about 2D stitching you mentioned, I think can simply be divided into two steps, as your pipeline shows, first stitch images to 2 big images, then stitch these 2 big images as one