class AravisCapture(): def __init__(self, name=None): if type(name) == Camera: self.cam = name else: self.cam = Camera(name) x, y, width, height = self.cam.get_region() print("Camera model: ", self.cam.get_model_name()) print("Vendor Name: ", self.cam.get_vendor_name()) print("Device id: ", self.cam.get_device_id()) print("Image size: ", width, ",", height) sensor = self.cam.get_sensor_size() print("Sensor size: ", self.cam.get_sensor_size()) print("Frame rate: ", self.cam.get_frame_rate()) self.cam.start_acquisition_continuous() print "camera started" self.counter = 0 def read(self): self.counter += 1 print "trying to get frame: ", self.counter frame = self.cam.pop_frame() return True, frame def cleanup(self): self.cam.stop_acquisition() self.cam.shutdown()
import sys import logging import numpy as np from aravis import Camera if __name__ == "__main__": #cam = ar.get_camera("Prosilica-02-2130A-06106") #cam = Camera("AT-Automation Technology GmbH-20805103") cam = Camera(loglevel=logging.DEBUG) if len(sys.argv) > 1: path = sys.argv[1] else: path = "frame.npy" #cam.start_acquisition_trigger() cam.start_acquisition_continuous() frame = cam.pop_frame() print("Saving frame to ", path) np.save(path, frame) cam.stop_acquisition()