QR码(二维条码)的编解码算法? [关闭]

Posted

技术标签:

【中文标题】QR码(二维条码)的编解码算法? [关闭]【英文标题】:QR code (2D barcode) coding and decoding algorithms? [closed] 【发布时间】:2010-09-18 21:44:47 【问题描述】:

寻找免费/开源代码或算法描述来编码(简单)和解码(硬)二维条码QR code。

这似乎不是一个小问题,但它在日本如此流行,一定有一些已经可用的东西......

【问题讨论】:

显然日本的二维码规范是免费的,但国际标准委员会 (ISO) 决定对英文版收取 200 多瑞士法郎的费用。如果英文版只是日文版的翻译,那么我会说这个价格,这是完全不道德的。 要了解二维码中使用的reed solomon错误码规范参考math.stackexchange.com/questions/76045/… 【参考方案1】:

我有一位同事在 ZXing(“斑马线”)工作。

这得到了相当多的平台支持。

【讨论】:

ZXing真的很好看。【参考方案2】:

QR Code Demystified - Part 1QR Code Demystified - Part 2QR Code Demystified - Part 3QR Code Demystified - Part 4QR Code Demystified - Part 5QR Code Demystified - Part 6

http://www.thonky.com/qr-code-tutorial/introduction/

要了解其背后的数学理论,请参阅 Math Stackexchange 中的讨论

https://math.stackexchange.com/questions/76045/reed-solomon-polynomial-generator

【讨论】:

【参考方案3】:

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

只是想我会提到这个解释它们是如何工作的。

【讨论】:

网址坏了,我猜更新的是:swetake.com/qrcode/qr1_en.html。由于更改的字符太少,无法编辑帖子... 谢谢,已解决。【参考方案4】:

(回应那些询问 php 二维码的人)

Google Charts QR chart type 可能适合您,如果您不希望有很多流量,或者如果您可以缓存图像。它非常易于使用 - 只需将要编码的文本放入 URL。

【讨论】:

【参考方案5】:

这是一个很好的用于编码二维码的LGPL库libqrencode

Libqrencode 是一个 C 库,用于 在 QR 码符号中编码数据,a 一种二维符号系统,可以是 由方便的终端扫描,例如 带CCD的手机。的容量 二维码最多7000位或4000位 字符,并且非常健壮。

这是一个Google code project that decodes QR code - 针对 iPhone,但它是 LGPL 并且源可用。应该是适应性强...

-亚当

【讨论】:

对于那些希望编码和解码数据矩阵代码(另一种常见的二维条码格式)的人,libdmtx.sourceforge.net 是一个可以对它们进行编码和解码的 C 库。【参考方案6】:

PyQrCodec 是一个 Python 库,用于将二维码编码为 PNG 并从各种图像格式解码它们。

【讨论】:

那个链接失效了。 这是一个(相同?)pyqrcode.sourceforge.net【参考方案7】:

你可以在这里免费找到c#示例http://twit88.com/home/opensource/qrcode(只需要注册)

【讨论】:

【参考方案8】:

您可以直接使用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)

【讨论】:

【参考方案9】:

你可以试试python-qrtools:https://launchpad.net/qr-tools 它使用 qrencode 生成和 zbar 解码(来自网络摄像头或文件;-)

【讨论】:

以上是关于QR码(二维条码)的编解码算法? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Atitit zxing二维码qr码识别解析

什么是QR码?

二维码生成原理

QR二维码原理

QR是啥意思?

QRcode是啥意思!