寻找免费/开源代码或算法描述来编码(简单)和解码(硬)二维条码QR 码。
这似乎不是一个小问题,但它在日本如此受欢迎,以至于必须有一些已经可用的东西......
我有一个同事在ZXing(“斑马线”)工作。
那有各种各样的平台支持。
QR 码揭秘 - 第 1 部分
QR 码揭秘 - 第 2 部分
QR 码揭秘 - 第 3 部分
QR 码揭秘 - 第 4 部分
QR 码揭秘 - 第 5 部分
QR 码揭秘 - 第 6 部分
和
http://www.thonky.com/qr-code-tutorial/introduction/
要了解其背后的数学理论,请参阅 Math Stackexchange 中的讨论
https://math.stackexchange.com/questions/76045/reed-solomon-polynomial-generator
http://www.swetake.com/qrcode/qr1_en.html
只是想我会提到这个解释它们是如何工作的。
(回应那些询问PHP中的二维码的人)
如果您不希望有很多流量,或者您可以缓存图像,Google Charts QR 图表类型可能适合您。它非常易于使用 - 只需将要编码的文本放入 URL 中。
这是一个很好的 LGPL 库,用于编码 QR 码libqrencode
Libqrencode 是一个用于将数据编码为二维码符号的 C 库,二维码符号是一种二维符号,可以通过带有 CCD 的手机等便携终端进行扫描。二维码的容量高达7000位或4000个字符,具有很强的鲁棒性。
这是一个解码 QR 码的 Google 代码项目- 针对 iPhone,但它是 LGPL 并且源代码可用。应该适应...
-亚当
PyQrCodec是一个 Python 库,用于将二维码编码为 PNG 并从各种图像格式解码它们。
您可以在这里免费找到 c# 示例http://twit88.com/home/opensource/qrcode(只需注册)
可以直接使用zbar来解码二维码。
#!/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)
您可以尝试 python-qrtools:https ://launchpad.net/qr-tools 它使用 qrencode 生成和 zbar 解码(来自网络摄像头或文件;-)