self._cam = Device()
self._cam.setResolution(640, 480)
- def shot(self):
- self._cam.saveSnapshot('image.jpg', quality=100)
+ def get_image(self):
+ return self._cam.getImage()
def __del__(self):
del self._cam
from camera import Camera
+class Screen:
+ def __init__(self):
+ pygame.init()
+ pygame.display.set_mode((640,480))
+ pygame.display.set_caption("Go image capture")
+ self._screen = pygame.display.get_surface()
-pygame.init()
-window = pygame.display.set_mode((640,480))
-pygame.display.set_caption("WebCam Demo")
-screen = pygame.display.get_surface()
+ def display_picture(self, im):
+ pg_img = pygame.image.frombuffer(im.tostring(), im.size, im.mode)
+ self._screen.blit(pg_img, (0,0))
+ pygame.display.flip()
-cam = Camera()
-while True:
- events = pygame.event.get()
- for event in events:
+def main():
+
+ cam = Camera()
+ screen = Screen()
+
+ while True:
+ event = pygame.event.wait()
if event.type == QUIT:
- sys.exit(0)
+ break
elif event.type == KEYDOWN:
- im = cam.get_image()
- pg_img = pygame.image.frombuffer(im.tostring(), im.size, im.mode)
- screen.blit(pg_img, (0,0))
- pygame.display.flip()
+ screen.display_picture(cam.get_image())
+
+if __name__ == '__main__':
+ try:
+ main()
+ finally:
+ pygame.quit()
new_image = Image.new('L', image.size)
new_image_l = new_image.load()
- for x in range(2, image.size[0] - 2):
- for y in range(2, image.size[1] - 2):
+ for x in xrange(2, image.size[0] - 2):
+ for y in xrange(2, image.size[1] - 2):
pix = (sum([sum([
image_l[a, b]
for b in range(y - 2, y + 3)])