Skip to content

This package provides quick and easy way to compute camera motion field given two consecutive images.

License

Notifications You must be signed in to change notification settings

stamas02/cam_motion_field

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cam_motion_field

Description

This package provides quick and easy way to compute camera motion field given two consecutive images.

Install

pip install cam-motion-field

Usage

from cam_motion_field import get_cam_flow
import cv2
image1_file = "PATH/TO/THE/FIRST/IMAGE/FILE"
image2_file = "PATH/TO/THE/SECOND/IMAGE/FILE"
ncol = 10
nrow = 10
grid_size = (ncol, nrow)

img1 = cv2.imread(image1_file, 0)
img2 = cv2.imread(image2_file, 0)
# origins.shape = (10,10,2)
# displacements.shape = (10,10,2)
origins, displacements = get_cam_flow(img1, img2, grid_size[0], grid_size[1])

The above example defines a 10x10 grid and returns 100 origins and displacement points. Both origins and displacements are absolute coordinates!

Parameters:
Parameters
----------
image1 : numpy array
    image1 a grayscale image
image2 : numpy array
    image2 a grayscale image
n_rows : int
    number of rows in the grid
n_cols : int
    number of columns in the grid

Example

Examples where generated using the example.py. This gif shows two images where either the camera moved forward or some zoom effect took place

The resuts are: 5x5 Grid

10x10 Grid

20x20 Grid

Notice that 20x20 has many zero displacements. This happens when the grid is too fine and no good features are detected in the cell.

About

This package provides quick and easy way to compute camera motion field given two consecutive images.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages