diff options
author | Alan Aguiar <alanjas@hotmail.com> | 2012-10-31 15:47:53 (GMT) |
---|---|---|
committer | Alan Aguiar <alanjas@hotmail.com> | 2012-10-31 15:47:53 (GMT) |
commit | 018bfe0c1fc736798613a1ce3f0352729a96987b (patch) | |
tree | 139b5c6c65d7b7b9a7b0f71f210ef616dc1cc085 | |
parent | 3f843e201c74b15167638ad65234c8d2a620265b (diff) |
-rwxr-xr-x | qreader.py | 54 |
1 files changed, 31 insertions, 23 deletions
@@ -41,7 +41,9 @@ class Captura(object): def __init__(self, tamanio): self.string_captura = '' # creamos una superfcie para usarla de pantalla - self.pantalla = pygame.display.get_surface() + #self.pantalla = pygame.display.get_surface() + self.pantalla = pygame.display.set_mode((1200,900)) + print dir(pygame.display) # creamos una superficie para la captura self.captura = pygame.surface.Surface(tamanio, 0, self.pantalla) # inicializamos el modulo pygame de la camara @@ -54,13 +56,6 @@ class Captura(object): if self.lcamaras: # creamos la camara, con tamanio y modo color RGB self.cam = pygame.camera.Camera(self.lcamaras[0], tamanio, 'RGB') - # obtengo la resolución de la cámara - res = self.cam.get_size() - # si no es 320, 240 (Sugar nuevo) - if not (res == tamanio): - tamanio = (352, 288) - # inicializo en 352, 288 - self.cam = pygame.camera.Camera(self.lcamaras[0], tamanio, 'RGB') try: # seteamos flip en horizontal, vertical false self.cam.set_controls(True, False) @@ -78,6 +73,7 @@ class Captura(object): def obtener_captura(self): + self.string_captura = '' # guardamos una captura self.captura = self.cam.get_image(self.captura) # si el flip no lo hace la cámara @@ -87,10 +83,10 @@ class Captura(object): # recuadro #subsurface(Rect) -> Surface - self.chica = self.captura.subsurface((0,0,120,120)) - print self.chica.get_height() + self.chica = self.captura.subsurface((170,90,300,300)) + #print self.chica.get_height() - self.string_captura = pygame.image.tostring(self.captura, 'RGB') + self.string_captura = pygame.image.tostring(self.chica, 'P') #print self.captura.get_height() #print self.captura.get_width() @@ -108,7 +104,9 @@ class Captura(object): # rellenamos la esquina superior con el color calibrado # recuadramos el color para resaltarlo - #rect = pygame.draw.rect(self.pantalla, (0,0,0), (0,0,120,120), 4) + rect = pygame.draw.rect(self.captura2, (0,0,0), (170,90,304,304), 4) + + self.pantalla.blit(self.captura2, (0,0)) def limpiar(self): @@ -167,21 +165,26 @@ class QR(object): def decode2(self, string): - image = zbar.Image(640, 480, 'Y800', string) + #image = zbar.Image(300, 300, 'Y800', string) + image = zbar.Image(300, 300, 'GREY', string) + + print 'alan', image.format # scan the image for barcodes result = self.scanner.scan(image) # extract results - if result == 0: + if result == False: return False else: for symbol in image: - pass - # clean up + + # clean up + + #Assuming data is encoded in utf8 + self.data = symbol.data.decode(u'utf-8') + self.data_type = self.data_recognise() del(image) - #Assuming data is encoded in utf8 - self.data = symbol.data.decode(u'utf-8') - self.data_type = self.data_recognise() + image = None return True @@ -206,7 +209,7 @@ class QReader: self.mostrar = True # creamos una captura, inicializamos la camara self.c = Captura((640, 480)) - + pygame.init() # mientras True while True: @@ -223,12 +226,17 @@ class QReader: self.c.obtener_captura() - - decoder.decode2(self.c.string_captura) - print decoder.data + + print decoder.decode2(self.c.string_captura) + print 'tipo: ', decoder.data_type + print 'datos', decoder.data self.c.mostrar_captura() # actualizo la pantalla pygame.display.flip() # seteo a 10 CPS (CuadrosPorSegundo) self.clock.tick(10) + +if __name__ == "__main__": + q = QReader(None) + q.run() |