Source code for QVideo.cameras.Basler._camera
from QVideo.cameras.Genicam import QGenicamCamera, QGenicamSource
__all__ = ['QBaslerCamera', 'QBaslerSource']
[docs]
class QBaslerCamera(QGenicamCamera):
'''Camera backed by a Basler device via the pylon GenTL producer.
`pylon <https://www.baslerweb.com/en/software/pylon/>`_ is Basler's
SDK for machine-vision cameras. It installs separate GenTL producers
for USB3 Vision and GigE Vision cameras whose paths are discovered
automatically from the ``GENICAM_GENTL64_PATH`` environment variable
set by the pylon installer.
If pylon is not installed, instantiation raises :exc:`TypeError`.
Parameters
----------
cameraID : int
Index of the Basler camera to open. Default: ``0``.
'''
producer = QGenicamCamera._findProducer('ProducerU3V.cti',
'ProducerGEV.cti')
[docs]
class QBaslerSource(QGenicamSource):
'''Threaded video source backed by :class:`QBaslerCamera`.
Parameters
----------
camera : QBaslerCamera or None
Camera instance to wrap. If ``None``, a new
:class:`QBaslerCamera` is created from ``cameraID``.
cameraID : int
Index of the camera to open. Used only when *camera* is ``None``.
Default: ``0``.
'''
def __init__(self, camera: QBaslerCamera | None = None,
cameraID: int = 0) -> None:
camera = camera or QBaslerCamera(cameraID=cameraID)
super().__init__(camera)
if __name__ == '__main__': # pragma: no cover
QBaslerCamera.example()