diff options
| author | morefigs <morefigs@gmail.com> | 2019-01-30 13:59:01 +1100 |
|---|---|---|
| committer | morefigs <morefigs@gmail.com> | 2019-01-30 13:59:01 +1100 |
| commit | 01587d8ba4d5a1f8371f44e719eda6547d3ed459 (patch) | |
| tree | 76fc58dedcb8b4aec9dd3c260ddd7badbd3e7fd7 /examples/camera | |
| parent | 837d3af93e55b3a2714832092e1581df51cef1ec (diff) | |
| download | pymba-01587d8ba4d5a1f8371f44e719eda6547d3ed459.tar.gz pymba-01587d8ba4d5a1f8371f44e719eda6547d3ed459.zip | |
clean up examples into separate dirs
Diffstat (limited to 'examples/camera')
| -rw-r--r-- | examples/camera/get_camera_object.py | 9 | ||||
| -rw-r--r-- | examples/camera/list_camera_ids.py | 7 | ||||
| -rw-r--r-- | examples/camera/list_feature_infos.py | 14 | ||||
| -rw-r--r-- | examples/camera/list_feature_names.py | 13 | ||||
| -rw-r--r-- | examples/camera/list_feature_values_and_ranges.py | 34 | ||||
| -rw-r--r-- | examples/camera/opencv_capture_image.py | 34 | ||||
| -rw-r--r-- | examples/camera/opencv_capture_image_with_callback.py | 44 | ||||
| -rw-r--r-- | examples/camera/write_feature_value.py | 22 |
8 files changed, 177 insertions, 0 deletions
diff --git a/examples/camera/get_camera_object.py b/examples/camera/get_camera_object.py new file mode 100644 index 0000000..7a830f7 --- /dev/null +++ b/examples/camera/get_camera_object.py @@ -0,0 +1,9 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + # provide camera index or id + camera = vimba.camera(0) + print(camera) diff --git a/examples/camera/list_camera_ids.py b/examples/camera/list_camera_ids.py new file mode 100644 index 0000000..670d71f --- /dev/null +++ b/examples/camera/list_camera_ids.py @@ -0,0 +1,7 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + print(vimba.camera_ids()) diff --git a/examples/camera/list_feature_infos.py b/examples/camera/list_feature_infos.py new file mode 100644 index 0000000..03ad935 --- /dev/null +++ b/examples/camera/list_feature_infos.py @@ -0,0 +1,14 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + camera = vimba.camera(0) + camera.open() + + for feature_name in camera.feature_names(): + feature = camera.feature(feature_name) + print(feature.info) + + camera.close() diff --git a/examples/camera/list_feature_names.py b/examples/camera/list_feature_names.py new file mode 100644 index 0000000..d3415dc --- /dev/null +++ b/examples/camera/list_feature_names.py @@ -0,0 +1,13 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + camera = vimba.camera(0) + camera.open() + + for feature_name in camera.feature_names(): + print(feature_name) + + camera.close() diff --git a/examples/camera/list_feature_values_and_ranges.py b/examples/camera/list_feature_values_and_ranges.py new file mode 100644 index 0000000..353d48e --- /dev/null +++ b/examples/camera/list_feature_values_and_ranges.py @@ -0,0 +1,34 @@ +from pymba import Vimba, VimbaException + + +if __name__ == '__main__': + + with Vimba() as vimba: + camera = vimba.camera(0) + camera.open() + + # get feature value via feature object + for feature_name in camera.feature_names(): + feature = camera.feature(feature_name) + + try: + value = feature.value + range_ = feature.range + + # alternatively the feature value can be read as an object attribute + # value = getattr(camera, feature_name) + # or + # value = camera.someFeatureName + + except VimbaException as e: + value = e + range_ = None + + print('\n\t'.join( + str(x) for x in ( + feature_name, + f'value: {value}', + f'range: {range_}') + if x is not None)) + + camera.close() diff --git a/examples/camera/opencv_capture_image.py b/examples/camera/opencv_capture_image.py new file mode 100644 index 0000000..e8bf3d5 --- /dev/null +++ b/examples/camera/opencv_capture_image.py @@ -0,0 +1,34 @@ +import cv2 +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + camera = vimba.camera(0) + camera.open() + + # setup camera and frame and capture a single image + camera.AcquisitionMode = 'SingleFrame' + frame = camera.create_frame() + frame.announce() + camera.start_capture() + frame.queue_for_capture() + camera.run_feature_command('AcquisitionStart') + camera.run_feature_command('AcquisitionStop') + frame.wait_for_capture() + + # get the image data as a numpy array + image = frame.image_numpy_array() + + # display image + cv2.imshow(camera.camera_id, image) + # waits for user to close image + cv2.waitKey(0) + + # stop capturing and clean up + camera.end_capture() + camera.flush_capture_queue() + camera.revoke_all_frames() + + camera.close() diff --git a/examples/camera/opencv_capture_image_with_callback.py b/examples/camera/opencv_capture_image_with_callback.py new file mode 100644 index 0000000..4d5fa28 --- /dev/null +++ b/examples/camera/opencv_capture_image_with_callback.py @@ -0,0 +1,44 @@ +from time import sleep +import cv2 +from pymba import Vimba +from pymba.frame import Frame + + +def on_callback(completed_frame: Frame): + print('Callback called!') + + # get the image data as a numpy array + image = completed_frame.image_numpy_array() + + # display image + cv2.imshow(camera.camera_id, image) + # waits for user to close image + cv2.waitKey(0) + + +if __name__ == '__main__': + + with Vimba() as vimba: + camera = vimba.camera(0) + camera.open() + + # setup camera and frame and capture a single image + camera.AcquisitionMode = 'SingleFrame' + frame = camera.create_frame() + frame.announce() + camera.start_capture() + frame.queue_for_capture(on_callback) + camera.run_feature_command('AcquisitionStart') + camera.run_feature_command('AcquisitionStop') + + # wait long enough for the frame callback to be called + for _ in range(100): + sleep(0.1) + print('.', end='') + + # stop capturing and clean up + camera.end_capture() + camera.flush_capture_queue() + camera.revoke_all_frames() + + camera.close() diff --git a/examples/camera/write_feature_value.py b/examples/camera/write_feature_value.py new file mode 100644 index 0000000..77f8ce5 --- /dev/null +++ b/examples/camera/write_feature_value.py @@ -0,0 +1,22 @@ +from pymba import Vimba + + +if __name__ == '__main__': + + with Vimba() as vimba: + camera = vimba.camera(0) + camera.open() + + # read a feature value + feature = camera.feature('ExposureAuto') + value = feature.value + + # set the feature value + feature.value = value + + print(feature.name, '=', feature.value) + + # alternatively the feature value can be set as an object attribute + camera.ExposureAuto = feature.value + + camera.close() |
