All Projects → EadCat → APAP-Image-Stitching

EadCat / APAP-Image-Stitching

Licence: other
As-Projective-As-Possible (APAP) Image Stitching with Moving DLT (CVPR 2013) - Python Implementation

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to APAP-Image-Stitching

Multiple image stitching
A Python and OpenCV implementation of Image Stitching using Brute Force Matcher and ORB feature descriptures.
Stars: ✭ 22 (-74.12%)
Mutual labels:  panorama, image-stitching
Panorama Tab Groups
An add-on for Firefox that implements the old Tab Groups/Panorama functionality
Stars: ✭ 230 (+170.59%)
Mutual labels:  panorama
Iv Panorama
720° panorama player
Stars: ✭ 65 (-23.53%)
Mutual labels:  panorama
Fish Eye Image Correction Code
This is my paper "Correction of single circular fisheye image" related program code
Stars: ✭ 176 (+107.06%)
Mutual labels:  panorama
Panoramic Image Stitching Using Invariant Features
Given a number of input images, concatenate all images to produce a panoramic image using invariant features.
Stars: ✭ 81 (-4.71%)
Mutual labels:  panorama
Gear360pano
Simple script to create equirectangular panorama by stitching images from Samsung Gear 360
Stars: ✭ 178 (+109.41%)
Mutual labels:  panorama
Pano.gl
Equirectangular video/image viewer based on WebGL.
Stars: ✭ 42 (-50.59%)
Mutual labels:  panorama
PanoBasic
Matlab Toolbox for Panorama Image Processing
Stars: ✭ 81 (-4.71%)
Mutual labels:  panorama
Pan Configurator
Framework and utilities to easily manage and edit Palo Alto Network PANOS devices
Stars: ✭ 216 (+154.12%)
Mutual labels:  panorama
Panorama
Image alignment and stitching with MATLAB
Stars: ✭ 131 (+54.12%)
Mutual labels:  panorama
Panoramagl
PanoramaGL 全景展示(Xcode7~), fixed some issues,share to someone need it,support arm64
Stars: ✭ 127 (+49.41%)
Mutual labels:  panorama
Openpano
Automatic Panorama Stitching From Scratch
Stars: ✭ 1,284 (+1410.59%)
Mutual labels:  panorama
Skpanoramaview
Create beautiful animated panorama views. Inspired by the intro view on the LinkedIn iOS app.
Stars: ✭ 190 (+123.53%)
Mutual labels:  panorama
React Native Streetview
React Native Google's Panorama/StreetView component for iOS and Android.
Stars: ✭ 79 (-7.06%)
Mutual labels:  panorama
Egjs View360
360 integrated viewing solution
Stars: ✭ 252 (+196.47%)
Mutual labels:  panorama
Pannellum React
React Component for Pannellum (open source panorama viewer for the web)
Stars: ✭ 48 (-43.53%)
Mutual labels:  panorama
Real Time Video Mosaic
An implementation of automatic panorama using OpenCV in C++ and Python
Stars: ✭ 114 (+34.12%)
Mutual labels:  panorama
Pdi
PDI: Panorama Depth Image
Stars: ✭ 180 (+111.76%)
Mutual labels:  panorama
Image360
Special view & controller to display 360° panoramic images
Stars: ✭ 42 (-50.59%)
Mutual labels:  panorama
cn-series-deploy
A set of Terraform plans for deploying a Kubernetes cluster protected by a CN-Series containerize firewall
Stars: ✭ 12 (-85.88%)
Mutual labels:  panorama

As-Projective-As-Possible Image Stitching with Moving DLT


2020.12.28. ~ 2021.01.03.

Local-Homography warping

This program takes a list of images and performs stitching recursively.

This is a re-implementation with Python.

Official Matlab Code here: https://cs.adelaide.edu.au/~tjchin/apap/

1. Target Research Paper

The research paper: https://cs.adelaide.edu.au/~tjchin/apap/files/mdlt.pdf

Zaragoza, Julio, et al. "As-projective-as-possible image stitching with moving DLT." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2013.

Figure1

2. Dependencies

python == 3.8.5

numpy == 1.19.2

opencv-python == 4.4.0.46

opencv-contrib-python == 4.4.0.46

pillow == 8.0.1

tqdm == 4.50.2

argparse
  • Editor: PyCharm

3. Quick Start

Windows User

  • unzip demo_bat.zip.
  • run demo.bat files on terminal.

Linux User

  • unzip demo_sh.zip.
  • run demo.sh files on terminal.

You can give various types of options, check out "option.py". The "demo"s are tutorials.

4. Pipeline

  1. Image Loading
  2. Grayscaling & SIFT(OpenCV)
  3. Brute-Force Matching
  4. RANSAC
  5. Global-Homography Estimating & Final Size Extracting
  6. Local-Homography Estimating
  7. Superpixel Warping
  8. Uniform Blending (50:50)

5. Why do stitching recursively?

  • If stitching is performed sequentially from the left, the picture is excessively oriented to one side. In that case, it becomes difficult to estimate the correct homography.
  • APAP doesn't consider perspective distortion of multiple image stitching.
  • Recursive Stitching:

Recursive

  • Sequential Stitching:

    figure3

  • In addition, if the size of the input image is too small, it is difficult to extract feature points, so that an incorrect homography may be estimated.

6. References

code

  1. https://github.com/lxlscut/APAP_S
  2. https://github.com/fredzzhang/Normalized-Eight-Point-Algorithm
  3. https://cs.adelaide.edu.au/~tjchin/apap/#Source

demo images

  1. https://github.com/daeyun/Image-Stitching
  2. https://github.com/opencv/opencv_extra
  3. https://www.pyimagesearch.com/2018/12/17/image-stitching-with-opencv-and-python/

thanks.

7. Optimization

There is room for optimization in the local warping algorithm by using numpy library. (operation speed)

8. Author

Dae-Young Song

Undergraduate student, Department of Electronic Engineering, Chungnam National University

[Github]EadCat (Dae-Young Song) (github.com)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].