aboutsummaryrefslogtreecommitdiff
path: root/pyvimba/tests/opencv_example.py
diff options
context:
space:
mode:
authorJohn Sun <jsun@sightmachine.com>2014-04-02 16:22:14 -0700
committerJohn Sun <jsun@sightmachine.com>2014-04-02 16:22:14 -0700
commit01e24424971ffa9faa5dabf2e6724cea997a2afb (patch)
tree8882d0e2c93e2a1f74178c21b6bffa02a2edee16 /pyvimba/tests/opencv_example.py
parent54bec3f39dc7915593a29c22ed1aac0e29ab53b6 (diff)
downloadpymba-01e24424971ffa9faa5dabf2e6724cea997a2afb.tar.gz
pymba-01e24424971ffa9faa5dabf2e6724cea997a2afb.zip
First pass at making pymba a pip installable module.
1) Moved all the source-code under a new folder "pyvimba". Yes I changed the name. Feel free to change it back 2) Added initial CHANGES.txt, MANIFEST.in, LICENSE, README.txt 3) Move opencv_example.py to "tests" directory
Diffstat (limited to 'pyvimba/tests/opencv_example.py')
-rw-r--r--pyvimba/tests/opencv_example.py80
1 files changed, 80 insertions, 0 deletions
diff --git a/pyvimba/tests/opencv_example.py b/pyvimba/tests/opencv_example.py
new file mode 100644
index 0000000..36b5108
--- /dev/null
+++ b/pyvimba/tests/opencv_example.py
@@ -0,0 +1,80 @@
+from vimba import *
+import numpy as np
+import cv2
+import time
+
+#very crude example, assumes your camera is PixelMode = BAYERRG8
+
+# start Vimba
+vimba = Vimba()
+vimba.startup()
+
+# 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
+
+# read info of a camera feature
+#featureInfo = camera0.getFeatureInfo('AcquisitionMode')
+#for field in featInfo.getFieldNames():
+# print field, '--', getattr(featInfo, field)
+
+# 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
+count = 0
+while count < 10:
+ camera0.startCapture()
+ frame0.queueFrameCapture()
+ camera0.runFeatureCommand('AcquisitionStart')
+ camera0.runFeatureCommand('AcquisitionStop')
+ frame0.waitFrameCapture()
+
+ # get image data...
+ imgData = frame0.getBufferByteData()
+
+ moreUsefulImgData = np.ndarray(buffer = frame0.getBufferByteData(),
+ dtype = np.uint8,
+ shape = (frame0.height,
+ frame0.width,
+ 1))
+ rgb = cv2.cvtColor(moreUsefulImgData, cv2.COLOR_BAYER_RG2RGB)
+ cv2.imwrite('foo{}.png'.format(count), rgb)
+ print "image {} saved".format(count)
+ count += 1
+ camera0.endCapture()
+# clean up after capture
+camera0.revokeAllFrames()
+
+# close camera
+camera0.closeCamera()
+
+# shutdown Vimba
+vimba.shutdown()
+