Skip to main content

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

Project description

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.

Project details


Release history Release notifications | RSS feed

This version

1.4

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cam-motion-field-1.4.tar.gz (3.8 kB view hashes)

Uploaded Source

Built Distribution

cam_motion_field-1.4-py3-none-any.whl (5.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page