Ids_Camera_Manager.py
is a Python script that manages cameras using the IDS Peak library. It provides methods to configure and control IDS cameras.
- Initialize and open IDS cameras by serial number.
- Manage camera settings and configurations.
- Capture images and stream video from the camera.
- Python 3.x
- IDS Peak Library
- OpenCV
- JSON
- Threading
- Os
- Sys
-
Install the required Python packages:
pip install -r requirements.txt
-
Install the IDS Peak SDK: Install IDS peak 2.11.0 extended
-
Initialize the Camera Manager: A. Any Connected Cameras - Single
from Ids_Camera_Manager import CameraManager cam_manager = CameraManager() ret = cam_manager.startcamera_auto() #OTHER OPTIONS .startcamera_manual() .startcamera_load() if ret: print("status camera ok") else: print("No camera connected")
If more than one is connected, the first one found will be selected.
B. Specificied "S/N" Cameras - Single
from Ids_Camera_Manager import CameraManager sn = ["S/N"] cam_manager = CameraManager(sn) ret = cam_manager.startcamera_auto() #OTHER OPTIONS .startcamera_manual() .startcamera_load() if ret: print("status camera ok") else: print("No camera connected")
C. Any Connected Cameras - Multi
from Ids_Camera_Manager import CameraManager cameras_manager = [] while True: cam_manager = CameraManager() ret = cam_manager.startcamera_auto() #OTHER OPTIONS .startcamera_manual() .startcamera_load() if ret: camera_managers.append(cam_manager) else: break
D. Specificied "S/N" Cameras - Multi
from Ids_Camera_Manager import CameraManager SNS = ["S/N1", "S/N2", ...] for sn in SNS cam_manager = CameraManager(sn) ret = cam_manager.startcamera_auto() #OTHER OPTIONS .startcamera_manual() .startcamera_load() if ret: camera_managers.append(cam_manager) else: break
-
Capture an image:
image = camera_manager.get_image()
__init__(self, camera_id=None)
: Initializes theCameraManager
class.open_camera(self)
: Opens the camera with the specified ID.get_image(self)
: capture the image of the related camera_manager.- Additional methods to manage camera settings and configurations.
Contributions are welcome! Please fork the repository and submit a pull request with your changes.
This project is licensed under RAMSLAB UniPV.