Ejemplo n.º 1
0
    def __init__(self, B, A):
        """Create an IIR filter, given the B and A coefficient vectors"""
        self.B = B
        self.A = A
        if len(A) > 2:
            self.prev_outputs = Ringbuffer(len(A) - 1)
        else:
            self.prev_outputs = Ringbuffer(3)

        self.prev_inputs = Ringbuffer(len(B))
Ejemplo n.º 2
0
    def __init__(self, window):
        if have_numpy:
            self.window = numpy.array(window)
        else:
            self.window = list(window)

        self.buffer = Ringbuffer(len(window))
Ejemplo n.º 3
0
    def __init__(self, taps):
        self.taps = taps
        max_t = 0
        for time, scale in taps:
            if time > max_t:
                max_t = time

        self.buffer = Ringbuffer(max_t)
Ejemplo n.º 4
0
 def __init__(self,
              bp_filter,
              lp_filter,
              centre_freq,
              sr,
              loop_gain=1.0,
              in_gain=1.0):
     self.sr = sr
     self.base_rate = (centre_freq * 2 * math.pi) / sr
     self.int = 0
     self.bp_filter = bp_filter
     self.lp_filter = lp_filter
     self.phase_buffer = Ringbuffer(int(sr / centre_freq))
     self.loop_gain = loop_gain
     self.in_gain = in_gain
Ejemplo n.º 5
0
 def __init__(self, len):
     self.buffer = Ringbuffer(len)
     self.differentiator = Differentiator()
Ejemplo n.º 6
0
 def __init__(self, window_len):
     self.window_len = window_len
     self.buffer = Ringbuffer(window_len)
Ejemplo n.º 7
0
 def __init__(self, delay):
     self.delay = delay
     self.buffer = Ringbuffer(delay)
Ejemplo n.º 8
0
 def __init__(self, window):
     self.window = window
     self.buffer = Ringbuffer(window)
Ejemplo n.º 9
0
 def __init__(self, binop, window):
     self.state = None
     self.window = window
     self.buffer = Ringbuffer(window)
     self.binop = binop
 def load_reID(self):
     logging.basicConfig(filename='feature_extractor_wrapper.log',
                         level=logging.DEBUG)
     self.feature_extractor = feature_extraction('0', self.model, '1',
                                                 self.batch_size)
     self.ringbuffer = Ringbuffer(200, 10000)
Ejemplo n.º 11
0
def main():
    '''
    detect and print the detected goals
    '''
    buf = Ringbuffer(4 * FPS)
    replay_it = None

    gd = GoalDetector()
    classifier = Classifier('trainingdata')
    videopath = './match2.h264'
    camera = cv2.VideoCapture(videopath)
    print(np.shape(camera))

    cv2.namedWindow("window", cv2.WND_PROP_FULLSCREEN)
    cv2.setWindowProperty(
        "window",
        cv2.WND_PROP_FULLSCREEN,
        cv2.WINDOW_FULLSCREEN)
    (grabbed, frame) = camera.read()
    for i in range(100):  # TODO delete
        camera.read()

    # TODO make read() wait for a frame to be ready
    t0 = time.time()
    while grabbed:
        hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
        t1 = time.time()

        if replay_it:
            try:
                cv2.imshow('window', next(replay_it))
            except StopIteration:
                replay_it = None
        else:
            obs, _ = gd.step(hsv)
            t2 = time.time()
            # resized = cv2.resize(hsv, (960, 540))
            cv2.imshow('window', hsv)
            t3 = time.time()
            for i, obstacles in enumerate(obs):
                for obstacle in obstacles:
                    # if classifier.predict(obstacle, hsv, gd.goal_rects[i]):
                    if False:
                        replay_it = iter(buf)
                        break
                if replay_it:
                    break
            t4 = time.time()

        cv2.waitKey(1)  # need to wait for event loop and displaying...
        t5 = time.time()

        (grabbed, frame) = camera.read()
        t6 = time.time()
        # TODO speed up JPEG saving
        if not replay_it:
            buf.store_next_frame((frame))

        t7 = time.time()
        # print('{} grabbing, {} hsvconv, {} compute, {} displaying'
        #       .format(t4 - t3, t1 - t0, t2 - t1, t3 - t2))
        t = (t0, t1, t2, t3, t4, t5, t6, t7)
        print([t[i] - t[i-1] for i in range(1, len(t))])
        t0 = time.time()

    cv2.destroyAllWindows()