diff options
Diffstat (limited to 'tests/test_cameras.py')
| -rw-r--r-- | tests/test_cameras.py | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/tests/test_cameras.py b/tests/test_cameras.py new file mode 100644 index 0000000..a5a4dd9 --- /dev/null +++ b/tests/test_cameras.py @@ -0,0 +1,72 @@ +#!/usr/bin/python +from __future__ import absolute_import, print_function, division +from pymba import * +import time + + +def test_cameras(): + # start Vimba + with Vimba() as vimba: + # get system object + system = vimba.getSystem() + + # list available cameras (after enabling discovery for GigE cameras) + if system.GeVTLIsPresent: + system.runFeatureCommand("GeVDiscoveryAllOnce") + time.sleep(0.2) + + cameraIds = vimba.getCameraIds() + for cameraId in cameraIds: + print('Camera ID:', cameraId) + + # get and open a camera + camera0 = vimba.getCamera(cameraIds[0]) + camera0.openCamera() + + # list camera features + cameraFeatureNames = camera0.getFeatureNames() + for name in cameraFeatureNames: + print('Camera feature:', name) + + # get the value of a feature + print(camera0.AcquisitionMode) + + # set the value of a feature + camera0.AcquisitionMode = 'SingleFrame' + + # create new frames for the camera + frame0 = camera0.getFrame() # creates a frame + frame1 = camera0.getFrame() # creates a second frame + + # announce frame + frame0.announceFrame() + + # capture a camera image + camera0.startCapture() + frame0.queueFrameCapture() + camera0.runFeatureCommand('AcquisitionStart') + camera0.runFeatureCommand('AcquisitionStop') + frame0.waitFrameCapture() + + # get image data... + imgData = frame0.getBufferByteData() + + # ...or use NumPy for fast image display (for use with OpenCV, etc) + import numpy as np + + moreUsefulImgData = np.ndarray(buffer=frame0.getBufferByteData(), + dtype=np.uint8, + shape=(frame0.height, + frame0.width, + 1)) + + # clean up after capture + camera0.endCapture() + camera0.revokeAllFrames() + + # close camera + camera0.closeCamera() + + +if __name__ == '__main__': + test_cameras()
\ No newline at end of file |
