OpenCV Camera Calibration
A simple tool for checkerboard camera calibration if you are tired of re-writing from the OpenCV docs on camera calibration.
Install
pip install opencv-calibrate
Prerequisites
This package relies on ffmpeg, please ensure it is installed. See python ffmpeg for more.
Usage
import opencv_calibrate
# image
image_directory_path = "example_images/"
# image params
checkerboard = (10, 7)
ret, camera_parameters = opencv_calibrate.image(image_directory_path, checkerboard)
# or with video
# video
video_path = "/path/to/video"
# video params
ret, camera_parameters = opencv_calibrate.video(video_path)
Then we can acess the parameters in the camera_parameters object:
# camera intrinsic matrix
camera_matrix = camera_parameters.camera_matrix
# distortion matrix
distortion_matrix = camera_parameters.distortion_matrix
# rotation vectors
rotation_vecs = camera_parameters.rotation_vecs
# translation vectors
translation_vecs = camera_parameters.translation_vecs
# projection error
projection_error = camera_parameters.projection_error
# save parameters
camera_parameters.save("/path/to/dir/")
# load
from opencv_calibrate import CameraParameters
# from npz
camera_parameters.load_from_npz("/path/to/params.npz")
# from yaml
camera_parameters.load_from_yaml("/path/to/params.yaml")
or from the command line (this is also callable by python -m opencv_calibrate.calibrate):
calibrate [-h] [--video VIDEO] [--image_dir IMAGE_DIR] [--output_dir OUTPUT_DIR] [--checkerboard CHECKERBOARD]
Camera calibration of videos and images containing checkerboard run with DEBUG>1 for more outputs
options:
-h, --help show this help message and exit
--video VIDEO Path to the video file
--image IMAGE_DIR
Path to the directory containing images
--output_dir OUTPUT_DIR
Path to the output directory
--checkerboard CHECKERBOARD
Number of rows, columns and square size (mm) in comma seperated format e.g. "9, 6, 4"
This will output a YAML file with the parameters:
camera_matrix:
- [f_x, 0.0, c_x]
- [0.0, f_y, c_y]
- [0.0, 0.0, 1.0]
distortion_matrix:
- [k1, k2, p1, p2 k3]
projection_error: float
and a .npz numpy file with addition of the extrinsic matrix.
Run with DEBUG environment variable for more outputs, e.g.
DEBUG=1 calibrate --image /path/to/images
Metadata
Release files for opencv-calibrate 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| opencv_calibrate-0.1.1.tar.gz | 8.4 kB | Without provenance | Details for opencv_calibrate-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| opencv_calibrate-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for opencv_calibrate-0.1.1-py3-none-any.whl |
Total release size: 17.4 kB
Release files / opencv_calibrate-0.1.1.tar.gz
| Download URL | opencv_calibrate-0.1.1.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
991f14bb9c0182ebd91f30a2200a61e0013e475438828bdc9c7366d84f68b6f4
|
|
BLAKE2b-256 checksum How to use checksums |
8fda174874ce18b2c6b3c737f96a8839d090a0a25d594b5b14b81b8b5760d0ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Release files / opencv_calibrate-0.1.1-py3-none-any.whl
| Download URL | opencv_calibrate-0.1.1-py3-none-any.whl |
|---|---|
| Size | 9.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b60e6ddee84f4a4018638b3fd26994f28a53d732fd3adaa4b6ea72839ce4db25
|
|
BLAKE2b-256 checksum How to use checksums |
7f1386a7cf22a1847f3180ec12e701ef9052c94ae7048265984b530733b928b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Security for opencv-calibrate 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.