web-dev-qa-db-fra.com

Algorithmes de codage et de décodage QR code (2D barcode)?

Recherche de code libre/open source ou description d'algorithmes pour coder (simple) et décoder (dur) le code-barres 2D QR code .

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

39
Adam Davis

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

Cela a une bonne variété de support de plate-forme.

31
Jon Skeet
12
Dungeon Hunter

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

Le type de graphique Google Charts QR peut fonctionner pour vous, si vous n'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.

11
Ryan Fox

Voici une bonne bibliothèque LGPL pour encoder le code QR libqrencode

Libqrencode est une bibliothèque C pour coder des données dans un symbole QR Code, une sorte de symbologie 2D qui peut être scannée par des terminaux pratiques tels qu'un téléphone mobile avec CCD. La capacité du QR Code peut atteindre 7 000 chiffres ou 4 000 caractères et est très robuste.

Voici un projet de code Google qui décode le code QR - destiné à l'iPhone, mais est LGPL et la source est disponible. Devrait être adaptable ...

-Adam

10
Adam Davis

http://www.swetake.com/qr/qr1_en.html

Je pensais juste mentionner celui-ci qui explique COMMENT ils fonctionnent.

9
Scimon

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

8
Jaearess

Vous pouvez utiliser zbar directement pour décoder le 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)
2
Adriano Petrich

Vous pouvez trouver un exemple c # ici http://twit88.com/home/opensource/qrcode gratuitement (seulement besoin de vous inscrire)

2
Pablo Retyk

Vous pouvez essayer python-qrtools: https://launchpad.net/qr-tools Il utilise qrencode pour générer et zbar pour décoder (à partir d'une webcam ou d'un fichier ;-)

1
ralgozino