Пример #1
0
    def processFile(self, file_path):
        file_path = file_path.replace('\\', '/')
        videoReader = VideoReader(file_path)
        movementTracker = MovementTracker()

        captured = re.search('(?<=/)([A-Za-z0-9\-_]+)(?=.avi)', file_path,
                             re.IGNORECASE)

        if captured is None:
            return

        file_name = captured.group(0)
        while True:
            if self.cancel == True:
                break

            frame = videoReader.nextFrame()

            if frame is None:
                np.savetxt(self.target + "/" + file_name + ".csv",
                           movementTracker.getEvents(),
                           delimiter=",",
                           fmt='%.2f')
                break

            foreground_mask, movement = self.videoAnalyzer.detectMovement(
                frame)
            movementTracker.update(movement,
                                   videoReader.currentPositionInSeconds())
        videoReader.close()