示例#1
0
    def exit(self):
        # do a bit of cleanup
        log.info("Stop video stream thread...")
        log.info("Exit app...")
        cv2.destroyAllWindows()

        return
示例#2
0
 def run(self):
     # loop over frames from the video stream
     log.info('Start application loop...')
     while True:
         run = self.dispatch_event()
         if not run:
             break
         self.update()
         self.show()
     self.exit()
示例#3
0
    def update_time(self):
        # Variable manage time (unit: second)
        self.t2 = round(time.time(), 5)
        self.t2 = round(self.t2 - self.t_run, 5)
        self.t = round(self.t2 - self.t0, 5)
        self.dt = round(self.t2 - self.t1, 5)
        self.clk_run = round(self.clk_run + self.dt, 5)

        log.info('t :', self.t, 'dt :', self.dt, 'clk_run :', self.clk_run)
        return
示例#4
0
    def dispatch_event(self):
        # get keys
        key = cv2.waitKey(1) & 0xFF
        # if the `q` key was pressed, break from the loop
        if key == ord('q'):
            log.info('Key Q press, quit application loop...')
            return False

        if key == ord('n'):
            log.info('Key N press, next update (' + str(self.update_cpt) +
                     ') ...')
            self.updated = True

        return True
示例#5
0
    def update_with_time_acquisition(self):
        self.clear()
        log.info('update_with_time_acquisition')
        for i in range(self.t0_idx, len(self.sequence.times)):
            ti = self.sequence.times[i]
            ii = self.sequence.indices[i]

            t1_idx = i
            t1 = self.t0 + self.t_acquisition

            if ti >= t1:
                self.t0_idx = t1_idx
                self.t0 = self.sequence.times[self.t0_idx]
                break

            xi = ii % self.sequence.width
            yi = ii // self.sequence.width
            self.matrix[yi][xi] = 1

        return
示例#6
0
 def update_finish(self):
     log.info('Fin de la sequence')
     if self.just_finished:
         self.clear()
         self.just_finished = False
     return