lensboy for camera calibrations
Project description
lensboy
Camera calibration for vision engineers. Extremely simple to use, and maximally powerful.
Supports OpenCV camera models and spline-based distortion models for lenses that OpenCV can't handle.
Why lensboy
Even for standard OpenCV models, lensboy gives you better calibrations than raw cv2.calibrateCamera:
- Automatic outlier filtering removes bad detections
- Target warp estimation compensates for non-flat calibration boards
- Analysis tools to verify your calibration is actually good
For wide-angle lenses where OpenCV's polynomial distortion model isn't enough, lensboy offers spline-based distortion models that can capture arbitrary distortion patterns. This approach is inspired by mrcal, but lensboy is designed to be easier to use and trivial to install.
Install
For calibration time, includes analysis and plotting tools:
pip install lensboy[analysis]
For loading and using the camera models:
pip install lensboy
Getting started
See the quickstart notebook for a full walkthrough covering both OpenCV and spline models.
Spline models
When OpenCV residuals show systematic patterns at the edges, switch to a spline model. These use B-spline grids instead of polynomial coefficients, and can capture arbitrary distortion patterns. The calibrated spline model can be converted to a pinhole model with undistortion maps for use in your application.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lensboy-1.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: lensboy-1.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8fd022247461ed50692f801d38e64c0cc7eb474f207395a870c4c5c3773f799
|
|
| MD5 |
032f08934b208a6dfa5fe7ea7bbd436b
|
|
| BLAKE2b-256 |
f3ef71c77edaf64aaece6ffd07b2ae6242d28343dcb5900ea77b41312165ef7a
|
Provenance
The following attestation bundles were made for lensboy-1.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on Robertleoj/lensboy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lensboy-1.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
e8fd022247461ed50692f801d38e64c0cc7eb474f207395a870c4c5c3773f799 - Sigstore transparency entry: 1005188682
- Sigstore integration time:
-
Permalink:
Robertleoj/lensboy@88fa56d13da1837a07ef4fdddfc7caccb21063d3 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/Robertleoj
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@88fa56d13da1837a07ef4fdddfc7caccb21063d3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file lensboy-1.0.1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: lensboy-1.0.1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 849.8 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b00327f0cbe0e29df5d798c53ce4929d0e3ff704d00aed7bd9a557f2231a9131
|
|
| MD5 |
2c08eb85837251a98ac9937e731b126c
|
|
| BLAKE2b-256 |
5b8d2964372c15a59149f0796ab9a7f151149f82efc2ede1f74a9f24b02ed69b
|
Provenance
The following attestation bundles were made for lensboy-1.0.1-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on Robertleoj/lensboy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lensboy-1.0.1-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
b00327f0cbe0e29df5d798c53ce4929d0e3ff704d00aed7bd9a557f2231a9131 - Sigstore transparency entry: 1005188690
- Sigstore integration time:
-
Permalink:
Robertleoj/lensboy@88fa56d13da1837a07ef4fdddfc7caccb21063d3 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/Robertleoj
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@88fa56d13da1837a07ef4fdddfc7caccb21063d3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file lensboy-1.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: lensboy-1.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1d48499ef4e9daf78c972a43d9a6f6c8f228cedc35d82192e2b468f3ceb9ff5
|
|
| MD5 |
7ffc1665e83500aa9fa00ef840ad0ec8
|
|
| BLAKE2b-256 |
63a7ec57cd64482d3dc96ef518bee8635ffb6c943e87f646b826b4c2aaa5351b
|
Provenance
The following attestation bundles were made for lensboy-1.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on Robertleoj/lensboy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lensboy-1.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
e1d48499ef4e9daf78c972a43d9a6f6c8f228cedc35d82192e2b468f3ceb9ff5 - Sigstore transparency entry: 1005188699
- Sigstore integration time:
-
Permalink:
Robertleoj/lensboy@88fa56d13da1837a07ef4fdddfc7caccb21063d3 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/Robertleoj
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@88fa56d13da1837a07ef4fdddfc7caccb21063d3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file lensboy-1.0.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: lensboy-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 849.8 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6c712b348d4182735606d3f52173874ece73d94cac106098a3dc6d97af060bb
|
|
| MD5 |
72bc6322e1ad53480b3547f2db986471
|
|
| BLAKE2b-256 |
ed1c0b1e858c4cdda291e1197ba5f869a1b746743ff6d0e5e58a27a377660684
|
Provenance
The following attestation bundles were made for lensboy-1.0.1-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on Robertleoj/lensboy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lensboy-1.0.1-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
c6c712b348d4182735606d3f52173874ece73d94cac106098a3dc6d97af060bb - Sigstore transparency entry: 1005188694
- Sigstore integration time:
-
Permalink:
Robertleoj/lensboy@88fa56d13da1837a07ef4fdddfc7caccb21063d3 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/Robertleoj
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@88fa56d13da1837a07ef4fdddfc7caccb21063d3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file lensboy-1.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: lensboy-1.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12c3d952a973f4a5d785a1f9682912c2335be54913b09ea8a94f1c0c6cd0d1f5
|
|
| MD5 |
535eaf50157a01e67ebe07f7a3f97eff
|
|
| BLAKE2b-256 |
66d274e66477aecac1bf3e43f611c0ed6ff35fcc44f5b63cf6935ba08cf84b7c
|
Provenance
The following attestation bundles were made for lensboy-1.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
wheels.yml on Robertleoj/lensboy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lensboy-1.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
12c3d952a973f4a5d785a1f9682912c2335be54913b09ea8a94f1c0c6cd0d1f5 - Sigstore transparency entry: 1005188685
- Sigstore integration time:
-
Permalink:
Robertleoj/lensboy@88fa56d13da1837a07ef4fdddfc7caccb21063d3 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/Robertleoj
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@88fa56d13da1837a07ef4fdddfc7caccb21063d3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file lensboy-1.0.1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: lensboy-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 848.9 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64f3b35bc04bf12d0dca9f90521836c1076dd49339d82dfe8a7dfd4615d08c60
|
|
| MD5 |
7171f26d73d5515310f4f53631e47fb3
|
|
| BLAKE2b-256 |
b63f65146dfb9a69ad0cc2a51b5577aac1aaa388929681433d61e7d13d3c628e
|
Provenance
The following attestation bundles were made for lensboy-1.0.1-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
wheels.yml on Robertleoj/lensboy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lensboy-1.0.1-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
64f3b35bc04bf12d0dca9f90521836c1076dd49339d82dfe8a7dfd4615d08c60 - Sigstore transparency entry: 1005188686
- Sigstore integration time:
-
Permalink:
Robertleoj/lensboy@88fa56d13da1837a07ef4fdddfc7caccb21063d3 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/Robertleoj
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
wheels.yml@88fa56d13da1837a07ef4fdddfc7caccb21063d3 -
Trigger Event:
push
-
Statement type: