Coder Social home page Coder Social logo

eadcat / apap-image-stitching Goto Github PK

View Code? Open in Web Editor NEW
132.0 4.0 18.0 22.83 MB

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

Python 100.00%
image-stitching multi-homography moving-dlt opencv python3 panorama apap

apap-image-stitching's Introduction

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.