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()
Esempio n. 2
0
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()