读取QR码的软件。

我看到一个QR码在读书,但是我没有智能手机来解码它。
所以我只是拍了一张照片并保存到我的电脑上。我下载了libdecoderqr0、libdecodeqr-dev和libdecodeqr-examples来读取它。但是我不知道如何使用它们。
接下来该怎么办?或者有没有更好的方法来读取QR码?

1最简单的扫描二维码的方式是使用在线服务,例如http://qr4u.online/,https://webqr.com/。 - 4xy
9个回答

几个选项:

命令行QR码解码:zbarimg 通过运行以下命令安装zbarimg命令行应用程序: sudo apt-get install zbar-tools 使用软件包提供的zbarimg程序读取您的QR编码图像: 从命令行输入: zbarimg "image-file-name.jpg" 以上命令将在终端显示图像中所编码的内容。
基于Web的应用程序进行解码和编码 您可以在online barcodereader.comZXing Decoder Online上进行在线编码和解码。
Data Matrix命令行解码和编码:libdmtx libdmtx是一个用于读写Data Matrix 2D条形码的库,它是一种具有内置纠错功能的密集数据模式。
从存储库安装libdmtx-utils并尝试使用其提供的工具: dmtxwrite - 创建Data Matrix条形码。简单示例: dmtxwrite -o image.png input.txt 这将将当前目录中input.txt中包含的文本编码为当前目录中的图像image.pngdmtxread - 扫描Data Matrix条形码。简单示例: dmtxread image.png 这将读取编码的image.png并将解码的消息写入标准输出。 libdmtx资源: 在此处查看一些提示 Libdmtx主页 其他资源 命令行QR码编码:grencode 如果您想生成QR码,可以从存储库安装qrencode。 test.png的图像文件中编码input.txt文件中的信息。
或者您可以通过控制台输入文本: qrencode -s 10 -o ubuntu.png http://www.ubuntu.com 以上命令将生成一个名为ubuntu.png的QR编码图像,其中包含URL http://www.ubuntu.com

数据矩阵看起来更好,因为它有一个合适的解码器,并且可以编码空字节。这个不起作用:echo -en "\x00" | qrencode -t PNG -o lol.png - Janus Troelsen
我无法让libdecodeqr的示例输出任何内容。dmtx在数据大小方面似乎非常有限;一个普通的SSH密钥是放不下的。(此外,libdmtx.org现在指向了完全不同的东西。) - Raphael
3使用命令zbarimg --raw qr.png > output.txt将其保存到文件中。如果未启用--raw选项,则会在输出中附加"QR-Code:"文本。 - Saftever
2xbar-tools还包含一个名为zbarcam的工具,可以使用网络摄像头直接扫描QR码。 - luator
3注意 - zbarimg工具会在输出中添加一个标签QR-Code:。为了取消这个标签,使用--raw选项。 - barrypicker
你可以使用Image Magick的截图工具来获取图片,import png:-|zbarimg png:- -q 这个命令可以起作用。 - mekb

ZBar识别多种类型的条形码,包括QR码。如果我安装zbar-tools

$ sudo apt-get install zbar-tools

并将该QtQR图像保存到名为askubuntu.png的文件中,然后使用zbarimg工具找到并解码QR码。
$ zbarimg askubuntu.png 
QR-Code:http://askubuntu.com
scanned 1 barcode symbols from 1 images in 0.02 seconds

还有一个名为zbarcam的实用工具,您可以使用它来解码通过网络摄像头捕捉到的QR码。

QtQR

一个用于创建和读取QR码的图形界面。

QtQR

QtQR可以从图像文件或网络摄像头中读取QR码。它能够识别多种特定类型的QR码,包括网页链接、电子邮件地址/消息、短信和电话号码。
您可以使用网络摄像头扫描书上的QR码。如果这样做,请确保有足够的光线,并且将QR码平放并保持静止。您将在屏幕上看到一个带有摄像头输入的窗口。等待绿点出现后关闭窗口,QtQR将告诉您QR码中包含的内容。
从Bionic(18.04)开始,您可以通过运行以下命令在Ubuntu上安装QtQR:
sudo apt install qtqr

你还可以通过添加PPA ppa:qr-tools-developers/qr-tools-stable 并安装包 qtqr 来安装更新版本的QtQR。

抱歉,我在错误的浏览器标签中发表了评论。:( -- 如果你要测试QtQR:https://launchpad.net/qr-tools/,有稳定版和日常版PPA,你可以添加日常版而不用太担心。请注意,如果你正在运行Ubuntu 10.10,由于某些依赖项不可用(zbar),你需要添加额外的PPA。在launchpad网站上有说明。非常感谢任何反馈。干杯! - Ramiro Algozino
sudo add-apt-repository ppa:qr-tools-developers/qr-tools-stable sudo apt-get update sudo apt-get install qtqr - Paul Preibisch
这里是QTQR的安装命令:sudo add-apt-repository ppa:qr-tools-developers/qr-tools-stable sudo apt-get update sudo apt-get install qtqr - Paul Preibisch
在Ubuntu 20.04上,apt安装可以正常工作,但是当我尝试从网络摄像头进行扫描时,它会崩溃。(分别是网络摄像头扫描崩溃) - jave.web

2020年,你应该使用CoBang来扫描二维码。这是我最近编写的,旨在抓住Linux桌面上的新技术。

Screenshot

如何在Ubuntu 20.04上安装:
sudo add-apt-repository ppa:ng-hong-quan/ppa
sudo apt update
sudo apt install cobang

它目前还不支持生成二维码。这并不是高优先级的问题,因为已经有一些网站可以做到,并且还有很漂亮的图片。

1“粘贴图片”的功能正是我需要的,可以读取其他程序显示的二维码。 - Iain Samuel McLean Elder
这个应用为什么这么大?我注意到在 Mint 应用商店里几乎所有的 QR 码阅读器应用都有 2GB 或更多的大小。对于一个如此简单的程序来说,这看起来太庞大了。 - Stephen R

Google Chrome在Chrome Web Store上有一个名为QRreader的扩展程序。
如果网页上存在二维码,只需右键点击它,然后就可以使用了!

不再了吗?链接也无效。 - jave.web

我其实想要能够自己读取这些二维码,所以我做了一个小程序,它会在系统托盘上显示,你点击它就能高亮显示屏幕上可见的所有二维码(或条形码)并告诉你它们的内容... 另外,你还可以点击它并将任何代码文本复制到剪贴板中,然后粘贴到浏览器等地方。我正在使用ZBar,你可以在这里查看它...

http://cnlohr.blogspot.com/2011/08/desktop-qr-code-reader-for-ubuntu.html

有人愿意帮我把它打包吗?

这里有一个关于QR阅读器的Brainstorm请求:http://brainstorm.ubuntu.com/item/15111/ 评论中包含了Tbarcode和Decodecamera的链接,你可能想要查看一下。我本来想直接链接它们,但是我还不能发布多个链接。

我刚刚尝试了DecodeCamera,但它不起作用。Python脚本遇到了一个错误。 - Benjamin
如果您发布错误,您可能可以得到帮助。我处理QR代码的方式是将手机对准屏幕并使用手机上的应用程序。 - Tanath
brainstorm.ubuntu.com 已关闭,它不再存在。 - Flimm


使用一些现有的工具:
apt-get install scrot xclip zbar-tools

使用这个一行代码将QR码和条形码复制到剪贴板:
scrot -so /dev/stdout | zbarimg /dev/stdin | xclip

为它创建一个快捷方式:
mkdir -p ~/bin
tee ~/bin/qrr <<-EOF
scrot -so /dev/stdout | zbarimg /dev/stdin | xclip
EOF
chmod a+x ~/bin/qrr

如果您的.profile文件设置得很好,以至于您的本地bin文件夹在PATH中(在下次登录后),您可以运行qrr并使用鼠标选择屏幕上包含QR码的部分,该码将被复制到您的主要选择中。使用xclip -selection clipboard命令将其复制到剪贴板。