2008-10-23 5 views
40

Recherche de code libre/opensource ou description d'algorithmes pour coder (simple) et décoder (dur) le code-barres 2D QR code.Algorithmes de codage et de décodage de codes QR (codes à barres 2D)?

Il ne semble pas un problème trivial, mais il est si populaire au Japon qu'il doit y avoir quelque chose déjà ...

+9

Apparemment, la spécification japonaise des codes QR est gratuit, mais le Comité des normes internationales (ISO), a décidé de charger plus de 200 Francs suisses pour la version anglaise. Si la version anglaise n'est qu'une traduction du mot japonais, je dirais que pour ce prix, c'est totalement contraire à l'éthique. – helloworlder

+0

Pour comprendre la spécification du code d'erreur reed solomon utilisé dans le code qr se référer http://math.stackexchange.com/questions/76045/reed-solomon-polynomial-generator –

Répondre

30

J'ai un collègue qui a travaillé sur ZXing (« Zebra Crossing »).

La plate-forme offre une grande variété de support.

+2

ZXing est vraiment très joli. –

10

est ici une bonne bibliothèque LGPL pour l'encodage QR code libqrencode

Libqrencode est une bibliothèque C pour données de codage dans un symbole QR Code, un type de symbologie 2D qui peut être balayé par des terminaux pratiques telles comme un téléphone mobile avec CCD. La capacité de QR Code est jusqu'à 7000 chiffres ou 4000 caractères, et est très robuste.

est ici un Google code project that decodes QR code - visant à l'iPhone, mais est LGPL et la source est disponible. Devrait être adaptable ...

-Adam

+1

Pour ceux qui cherchent à coder et à décoder les codes de datamatrix (un autre format de code-barres 2D commun), http://libdmtx.sourceforge.net/ est une bibliothèque C qui les code et les décode. –

8

PyQrCodec est une bibliothèque Python pour l'encodage des codes Qr à un PNG et les décoder à partir d'une variété de formats d'image.

+13

Ce lien est mort. –

+0

En voici un (même?) Http://pyqrcode.sourceforge.net/ – prakash

11

(En réponse à ceux qui demandent au sujet des codes QR en PHP)

Le Google Charts QR chart type peut travailler pour vous, si vous ne vous attendez pas beaucoup de trafic, ou si vous pouvez mettre en cache les images. Il est extrêmement facile à utiliser - il suffit de mettre le texte à encoder dans l'URL.

2

Vous pouvez utiliser zbar directement pour décoder le code qr.

#!/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) 
Questions connexes