Metadata-Version: 2.1
Name: camera-fusion
Version: 0.0.2
Summary: Multiple cameras calibration and fusion with OpenCV Python.
Home-page: https://github.com/a1rb4Ck/camera_fusion
Author: Pierre Nagorny
Author-email: pierre.nagorny@univ-smb.fr
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Multimedia :: Video
Classifier: Topic :: Multimedia :: Video :: Capture
Description-Content-Type: text/markdown
Requires-Dist: numpy (>=1.15.1)
Requires-Dist: opencv-python (>=3.4.3.18)
Requires-Dist: sortednp (>=0.2.0)

camera_fusion
==========

Multiple cameras correction calibration and fusion with OpenCV Python.
This package use ChAruco board to achieve accurate multi-cameras fusion.

Installation
----------

```bash
pip install camera_fusion
```
Depending of your environment, you could have to compile OpenCV from source with Python bindings.


Quickstart
----------

## Calibration
Print a [ChAruco board](https://www.uco.es/investiga/grupos/ava/node/26), for example the one in the *./resources* folder.

Measure the length of the length of the Aruco marker and the length of the black square and start example scripts from the *./scripts* folder.

## Usage examples

Generate the lens correction calibration file for a specific camera.

```bash
python3 ./scripts/camera_calibration.py
```

Generate homographies between many camera to fuse/blend on a specific plane. If no lens correction calibration exist for the cameras, they will be generate.

```bash
python3 ./scripts/camera_calibration.py
```

Actually, simple blending method are implemented:
- Blue channel to RGB blending
- Gray scale to RGB blending
- Weighted blending
- Difference

Use cases
----------

This project was made to create a super low-cost degree of linear polarization imager. With three cheap repurposed webcams, we achieve decent results and frame-rate.


