Computer vision exercises using OpenCV
- 3D Perception (folder: Perception3D)
- Calibration
- Rectification
- Monovision
- Stereovision
- Segementation & Registration (folder: Segmentation_Registration)
- Segmentation
- Registration
- RANSAC
- ICP
- 3D Localisation (folder: Localisation)
- Pose estimation
- Tracking
A report (in french) for every part can be found here. You can find mathematical explanations and visual results.
An article (in french) explaining the 3D Perspective mostly used for the Calibration can be found here
For convenient execution, you may use a python venv
and then install the requirements with pip
.
Create a python venv
$ python -m venv .venv
$ source .venv/bin/activate
Install the requirements
pip install -r requirements.txt
Script:
- Monovision: Perception3D/MonoMain.py
- Stereovision: Perception3D/StereoMain.py
Both script will do the calibration first and the rectification in second. The matrices cameraMatrix
and distCoeffs
will be printed.
Script:
- Segmentation_Registration/Crop.py to get the reference object in a point cloud
- Segmentation_Registration/Main.py executes the registration from a
source_file
to atarget_file
(variable in the script)
Script:
- Localisation/Main.py
- Change the
cameraMatrix
anddistCoeffs
computed from the calibration. - The script will by default track a
EPITA student card
. - Feel free to track anything, the reference image must loaded in
img_object
variable
- Change the