Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Aguiar <alanjas@hotmail.com>2012-10-31 15:47:53 (GMT)
committer Alan Aguiar <alanjas@hotmail.com>2012-10-31 15:47:53 (GMT)
commit018bfe0c1fc736798613a1ce3f0352729a96987b (patch)
tree139b5c6c65d7b7b9a7b0f71f210ef616dc1cc085
parent3f843e201c74b15167638ad65234c8d2a620265b (diff)
another fixes and allow use directlyHEADmaster
-rwxr-xr-xqreader.py54
1 files changed, 31 insertions, 23 deletions
diff --git a/qreader.py b/qreader.py
index d48a4b7..5b88ada 100755
--- a/qreader.py
+++ b/qreader.py
@@ -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()