Skip to content

Easy-to-use library for accessing to a camera streaming from Python. Internally, it acts as a wrapper of cv2.VideoCapture, that include several out-of-the-box utilities that are commonly needed in production Computer Vision projects

License

Notifications You must be signed in to change notification settings

Eric-Canas/webcam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Webcam

webcam Webcam is a simple, yet powerful Python library that brings advanced webcam handling to your projects. It offers numerous advantages over alternatives like cv2.VideoCapture, making it a go-to choice for developers seeking to enhance their webcam integration and usage.

Webcam provides you with an intuitive way to handle video input from a range of sources like webcams, IP cameras, and video files. It grants you the power to dictate the exact frame size and regulate aspect ratio adjustments when the camera's native resolution doesn't match, thereby ensuring all returned frames comply with your format requirements. Furthermore, Webcam includes a unique aspect that allows users to authentically mirror webcam input using video files. It ensures the frame accessed at any particular moment matches the exact frame you'd encounter in a real-time webcam stream, making it a valuable tool for testing and development.

Designed for simplicity and user-friendliness, Webcam provides advanced features without compromising ease of use. This allows you to channel your efforts into developing your application, instead of grappling with the complexities of webcam control.

Advanced Functionality

Webcam showcases a rich set of features, advancing beyond fundamental webcam manipulation to offer a higher degree of control and flexibility:

  • Enhanced Input Sources: Webcam seamlessly handles all input types that OpenCV accepts, but with added versatility. Including webcams, IP cameras (using RTSP URLs), and video files.

  • Customizable Frame Configuration: With Webcam, you can define the specific frame size and manage aspect ratio changes when the camera's native resolution differs. Keep the widest field of view by setting just one dimension, or set both and decide between center cropping or resizing (sacrificing aspect ratio).

  • OpenCV Compatibility: Webcam supports RGB and BGR reading, ensuring compatibility with your existing OpenCV pipelines.

  • Background Reading: Enhances performance by reading frames in a background thread, with an option to limit the frame rate.

  • Webcam Input Emulation: Uses video files to accurately emulate webcam input. The frame you access at any instant matches the one from a real-time webcam stream at the same time, a feature that's especially handy for testing and development scenarios.

  • Iterator and Batch Processing: Webcam offers an iterator for simplified camera frame reading, with optional batch yielding for efficient data handling.

Balancing simplicity and advanced functionality, Webcam is an efficient, flexible tool for webcam integration.

About

Easy-to-use library for accessing to a camera streaming from Python. Internally, it acts as a wrapper of cv2.VideoCapture, that include several out-of-the-box utilities that are commonly needed in production Computer Vision projects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages