2008-10-23 43 views
40

En busca de código libre/código abierto o descripción de algoritmos para codificar (simple) y decodificar (difícil) el código de barras 2D QR code.Algoritmos de codificación y decodificación de código QR (código de barras 2D)?

No parece como un problema trivial, pero es tan popular en Japón que tiene que haber algo que ya está disponible ...

+9

Al parecer, la especificación japonesa de códigos QR es libre, pero el Comité Internacional de Normalización (ISO), decidió cobrar más de 200 Francos suizos para la versión en inglés. Si la versión en inglés es solo una traducción del japonés, entonces diría que por ese precio, no es ético. – helloworlder

+0

Para comprender la especificación de código de error reed solomon utilizada en el código qr consulte http://math.stackexchange.com/questions/76045/reed-solomon-polynomial-generator –

Respuesta

30

Tengo un colega que trabajó en ZXing ("Paso de cebra").

Tiene una gran variedad de soporte de plataforma.

+2

ZXing se ve muy bien. –

10

Aquí hay una buena biblioteca LGPL para la codificación de código QR libqrencode

Libqrencode es una biblioteca de C para codificar datos en un símbolo de código QR, una especie de simbología 2D que puede ser escaneada por los terminales de mano tales como un teléfono móvil con CCD. La capacidad de QR Code es de hasta 7000 dígitos o 4000 caracteres, y es muy robusta.

Aquí está un Google code project that decodes QR code - dirigido a iPhone, pero es LGPL y la fuente está disponible. Debe ser adaptable ...

-Adam

+1

Para aquellos que buscan codificar y decodificar códigos Datamatrix (otro formato común de código de barras 2D), entonces http://libdmtx.sourceforge.net/ es una biblioteca C que los codifica y decodifica. –

8

PyQrCodec es una biblioteca de Python para la codificación de los códigos QR a un PNG y decodificarlos de una variedad de formatos de imagen.

+13

Ese enlace está muerto. –

+0

Aquí hay una (¿lo mismo?) Http://pyqrcode.sourceforge.net/ – prakash

11

(En respuesta a los que piden acerca de los códigos QR en PHP)

El Google Charts QR chart type podría funcionar para usted, si usted no espera una gran cantidad de tráfico, o si se puede almacenar en caché las imágenes. Es extremadamente fácil de usar, simplemente coloque el texto para codificar en la URL.

2

Puede usar zbar directamente para descodificar el qrcode.

#!/usr/bin/python 

from sys import argv 
import zbar 
import Image 


# create a reader 
scanner = zbar.ImageScanner() 

# configure the reader 
scanner.parse_config('enable') 

# obtain image data  
pil = Image.open("base.png").convert('L') 
width, height = pil.size 
raw = pil.tostring() 

# wrap image data 
image = zbar.Image(width, height, 'Y800', raw) 

# scan the image for barcodes 
scanner.scan(image) 

# extract results 
for symbol in image: 
    # do something useful with results 
    print 'decoded', symbol.type, 'symbol', '"%s"' % symbol.data 

# clean up 
del(image) 
Cuestiones relacionadas