X-Git-Url: http://git.tomasm.cz/imago.git/blobdiff_plain/e081eb1ecc06066d8015da7ad40947916607e964..d16f56d1fc36c9a330ff15caa9f1d60a02524310:/capture.py diff --git a/capture.py b/capture.py index ca8da3a..9b93ba6 100755 --- a/capture.py +++ b/capture.py @@ -5,6 +5,7 @@ import os import sys import argparse +import time import pygame from pygame.locals import QUIT, KEYDOWN @@ -29,6 +30,8 @@ def main(): parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('-d', type=int, default=0, help="video device id") + parser.add_argument('-a', type=int, default=0, + help="take picture automaticaly every A seconds") parser.add_argument('-r', type=int, nargs=2, default=[640, 480], help="set camera resolution") args = parser.parse_args() @@ -40,20 +43,42 @@ def main(): im_number = 0 - saving_dir = "./captured/" + saving_dir = "./captured/" + time.strftime("%Y-%m-%d %H:%M") if not os.path.isdir(saving_dir): os.makedirs(saving_dir) + + if args.a > 0: + last = 0 + clock = pygame.time.Clock() + done = False + + while not done: + for event in pygame.event.get(): + if event.type == pygame.QUIT: + done = True + if time.time() - last > args.a: + last = time.time() + im = cam.get_image() + screen.display_picture(im) + im.save(saving_dir + "{0:0>3}.jpg".format(im_number), 'JPEG') + im_number += 1 + clock.tick(15) + + else: + while True: + event = pygame.event.wait() + if event.type == QUIT: + break + if event.type != KEYDOWN: + continue - while True: - event = pygame.event.wait() - if event.type == QUIT: - break - elif event.type == KEYDOWN: im = cam.get_image() screen.display_picture(im) im.save(saving_dir + "{0:0>3}.jpg".format(im_number), 'JPEG') im_number += 1 + + del cam if __name__ == '__main__': try: