Skip to main content

Eric's camera library, focused on robotics

Project description

Eric's Camera library

image

Work-in-progress! Only works for the exact workflows I use right now.

Provides Python classes to interact with various cameras. So far there is support for

  • CSI cameras on Jetson Orin platforms
  • USB cameras on Linux platforms
  • RTSP cameras on Linux platforms
  • Arbitrary gstreamer pipelines

The package also includes a nice calibration utility that can be run with python3 -m erics_cameras.calibrate, that will automatically select which images to include in the calibration dataset by criteria like stillness, uniqueness of the camera pose, and reprojection error. It will also show you the reprojections of the calibration target points using the latest calculated intrinsics in real time, and the intrinsics will be printed to the terminal for you to copy into your program with numpy.

This package requires you have a version of OpenCV with GStreamer support. The repo includes a build_opencv.sh script that will download the opencv 4.12 source code to ~/Downloads and install it with gstreamer support. You can test this is successfull with python3 -c "import cv2; print(cv2.getBuildInformation())" | grep GStreamer. The calibration script will break with opencv versions less than 4.10 and if you don't have the opencv contrib package installed. If another package requires opencv and pip automatically installs it, it will override the version built from source. To make this package work again you will need to pip uninstall opencv-python, which only removes the version installed with pip, and leaves the system opencv working.

I've tested this package to work with Ubuntu 22 on an x86 pc and Jetson Orin Nano and NX. If you're doing robotics in 2025 I think this is the happy path in terms of OS and hardware for getting max compatibility with other programs like Isaac Sim, ROS, and Gazebo.

Project details


Download files

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

Source Distribution

erics_cameras-1.0.2.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

erics_cameras-1.0.2-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file erics_cameras-1.0.2.tar.gz.

File metadata

  • Download URL: erics_cameras-1.0.2.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for erics_cameras-1.0.2.tar.gz
Algorithm Hash digest
SHA256 03ed1a23fe2499ee94c5c053d7d992379586b66c60f2090fb35bd8ad3d422fbc
MD5 0a9ee13eaca4387898036f62348cf2ee
BLAKE2b-256 f95fa75f9755b4e618ed962c43f3b92824bf09eeaf283775c2671523678994da

See more details on using hashes here.

File details

Details for the file erics_cameras-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: erics_cameras-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for erics_cameras-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7ba5f7c823991396db230dc090b092c9f95f007ac10bd154e20b7f697aa183de
MD5 ab0e1f4dc9c0311ed944b8d10038b95f
BLAKE2b-256 ad3c35b7c8e73602e8a8de11574c34cb856e9bc9d081f0678e461973c8f61420

See more details on using hashes here.

Supported by

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