Overview
TheCameraManager class provides a simple interface for capturing images from a USB camera using OpenCV. It handles camera initialization, frame buffering, and image saving.
Source: arm_system/perception/vision/camera/main.py:5
Class Definition
CameraManager
Camera device index (0 for default camera)
Camera frame width in pixels
Camera frame height in pixels
Attributes
OpenCV video capture object
Methods
capture_image
- Grabs 5 frames to flush camera buffer
- Reads fresh frame
- Generates timestamped filename
- Creates output directory if needed
- Saves image as PNG
Full path to saved image file, or None if capture failed
{script_directory}/objects_images/
Filename Format: YYYYMMDD-HHMMSS.png
Source: arm_system/perception/vision/camera/main.py:11
Example
Resource Management
The camera is automatically released when the CameraManager object is destroyed:arm_system/perception/vision/camera/main.py:28
Integration
The CameraManager is used by the CommunicationManager during scan operations:Configuration
Supported Camera Indices
0- Default USB camera1,2, etc. - Additional cameras (if connected)
Resolution Options
Common resolutions:1280x720(720p HD) - Default1920x1080(1080p Full HD)640x480(VGA)
Error Handling
Thecapture_image() method returns None if:
- Camera is not accessible
- Frame read fails
- No frame data available