11 from pygame.locals import QUIT, KEYDOWN
14 from camera import Camera
17 def __init__(self, res):
19 pygame.display.set_mode(res)
20 pygame.display.set_caption("Go image capture")
21 self._screen = pygame.display.get_surface()
23 def display_picture(self, im):
24 pg_img = pygame.image.frombuffer(im.tostring(), im.size, im.mode)
25 self._screen.blit(pg_img, (0,0))
30 parser = argparse.ArgumentParser(description=__doc__)
31 parser.add_argument('-d', type=int, default=0,
32 help="video device id")
33 parser.add_argument('-a', type=int, default=0,
34 help="take picture automaticaly every A seconds")
35 parser.add_argument('-r', type=int, nargs=2, default=[640, 480],
36 help="set camera resolution")
37 args = parser.parse_args()
39 res=(args.r[0], args.r[1])
41 cam = Camera(vid=args.d, res=res)
46 saving_dir = "./captured/" + time.strftime("%Y-%m-%d %H:%M")
48 if not os.path.isdir(saving_dir):
49 os.makedirs(saving_dir)
53 clock = pygame.time.Clock()
57 for event in pygame.event.get():
58 if event.type == pygame.QUIT:
60 if time.time() - last > args.a:
63 screen.display_picture(im)
64 im.save(saving_dir + "{0:0>3}.jpg".format(im_number), 'JPEG')
70 event = pygame.event.wait()
71 if event.type == QUIT:
73 if event.type != KEYDOWN:
77 screen.display_picture(im)
78 im.save(saving_dir + "{0:0>3}.jpg".format(im_number), 'JPEG')
83 if __name__ == '__main__':