python实现树莓派生成并识别二维码

参考来源:http://blog.csdn.net/Burgess_Liu/article/details/40397803

设备及环境

  • 树莓派2代
  • 官方系统Raspbian
  • 官方树莓派摄像头模块

设备连接

摄像头模块插入到距离网卡口最近的那个接口,板上有Camera的字样,看清楚正反面。

启用摄像头

  1. sudo raspi-config
  2. 选项:Camera
  3. 选项:Enable
  4. 选项:Finish
  5. 选项:Reboot

关键代码

安装依赖环境:

sudo apt-get install python-imaging
sudo apt-get install zbar-tools
sudo apt-get install qrencode
sudo apt-get install python-pygame

python代码:

qrcode.py

#!/usr/bin/env python
#-*- coding: UTF-8 -*-
import os, signal, subprocess strfile1 = "qrcode" def erzeugen():
text=raw_input(u"enter text QRCode: ")
os.system("qrencode -o "+strfile1+".png '"+text+"'")
print u"QRCode in: "+strfile1+".png" def lesen():
os.system("raspistill -w 320 -h 240 -o /home/pi/cameraqr/image.jpg")
print u"raspistill finished"
#zbarcam=subprocess.Popen("zbarcam --raw --nodisplay /dev/video0", stdout=subprocess.PIPE, shell=True, preexec_fn=os.setsid)
#print u"zbarcam started successfully..."
#qrcodetext=zbarcam.stdout.readline()
zbarcam=subprocess.Popen("zbarimg --raw /home/pi/cameraqr/image.jpg", stdout=subprocess.PIPE, shell=True, preexec_fn=os.setsid)
qrcodetext=zbarcam.stdout.readline()
if qrcodetext!="":
print qrcodetext
else:
print u"qrcodetext is empty" #os.killpg(zbarcam.pid, signal.SIGTERM)
print u"zbarcam stopped successfully..."
return u"QRCode: "+qrcodetext

main.py

#!/usr/bin/env python
#-*- coding: UTF-8 -*- import qrcode while (True):
print u"1: qrcode create"
print u"2: qrcode identify"
print u"3: exit"
select=int(raw_input(u"please choose: "))
if select == 1:
qrcode.erzeugen()
elif select == 2:
result=qrcode.lesen().strip()
print result
elif select == 3:
print u"programme completed..."
break

使用方法

选项1:生成文本二维码,输入文本回车即可,路径在当前路径,文件名: qrcode.png

选项2:识别二维码:摄像头对准二维码即可(无法识别的提示,请摆准摄像头再次运行选项2)

python实现树莓派生成并识别二维码的更多相关文章

  1. 使用ZXing.Net生成与识别二维码(QR Code)

    Google ZXing是目前一个常用的基于Java实现的多种格式的1D/2D条码图像处理库,出于其开源的特性其现在已有多平台版本.比如今天要用到的ZXing.Net就是针对微软.Net平台的版本.使 ...

  2. 在Windows IoT上生成和识别二维码

    在Windows IoT生成和识别二维码,实际上由于是UWP上实现,所以,理论上,这些生成和识别二维码的方法也可以在其它平台上运行. 关于二维码的生成有很多库可以实现,比如QRCoder,这个库可以在 ...

  3. Python3+qrcode+zxing生成和识别二维码教程

    一.安装依赖库 pip install qrcode pillow image zxing pillow是python3中PIL的代替库,image是生成图版需要用到的库 安装image时报错“Cou ...

  4. C#生成和识别二维码

    用到外部一个DLL文件(ThoughtWorks.QRCode.dll),看效果 生成截图 识别截图 生成二维码后右键菜单可以保存二维码图片,然后可以到识别模式下进行识别,当然生成后可以用手机扫描识别 ...

  5. PHP 生成、识别二维码及安装相关扩展/工具

    2018-02-20 00:30:26  更新:推荐新扩展(极力推荐) 这篇文章里用的两个二维码扩展都有些问题和麻烦:phpqrcode(生成二维码)的源码有点小 bug: 而 php-zbarcod ...

  6. Python用MyQR生成自定义个性二维码

    MyQR是一个能够生成自定义二维码的python第三方库,根据需要能够生成普通二维码.带背景图片的艺术二维码.动态二维码. 1.MyQR安装 安装非常简单,直接用pip install MyQR,需要 ...

  7. 利用ZXing.Net生成和识别二维码

    ZXing.Net:ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库. github:https://github.com/micjahn/ZXing.Net 直接将字符 ...

  8. ZXing 生成、读取二维码(带logo)

    前言 ZXing,一个支持在图像中解码和生成条形码(如二维码.PDF 417.EAN.UPC.Aztec.Data Matrix.Codabar)的库.ZXing(“zebra crossing”)是 ...

  9. Pyqt+QRcode 生成 识别 二维码

    1.生成二维码 python生成二维码是件很简单的事,使用第三方库Python QRCode就可生成二维码,我用Pyqt给QRcode打个壳 一.python-qrcode介绍 python-qrco ...

随机推荐

  1. windows在远程桌面连接中使用命令行参数

    在此版本的 Windows 中,可以从搜索框("运行"对话框或命令行)启动远程桌面连接,而不是从「开始」菜单启动它. 从"运行"对话框启动远程桌面的步骤 依次单 ...

  2. 【MySQL】MHA部署与MasterFailover代码分析

    官网:https://code.google.com/p/mysql-master-ha/ 参考:http://blog.csdn.net/wulantian/article/details/1328 ...

  3. leetcode 107

    107. Binary Tree Level Order Traversal II Given a binary tree, return the bottom-up level order trav ...

  4. string Format转义大括号:输入字符串的格式不正确。

    String.Format("{0} world!","hello") //将输出 hello world!,没有问题,但是只要在第一个参数的任意位置加上一个大 ...

  5. LLVM language 参考手册(译)(3)

    可见性模式(Visibility Styles) 所有全局变量和函数具有以下的可见性模式之一: “default” - Default style 在那些使用ELF object file格式的平台( ...

  6. 对C语言中va_list,va_start,va_arg和va_end的一点理解

    这几个函数和变量是针对可变参数函数的,什么是可变参数函数呢,最经典的莫过于printf和scanf,这两个函数的声明如下: int printf(const char *format, ...); i ...

  7. LoadCursor 函数

    从可执行文件中载入指定的光标资源,加载到指定的应用实例中 ? 1 2 3 4 5 HCURSOR WINAPI LoadCursor(    _In_opt_ HINSTANCE hInstance, ...

  8. CSS3实现轮播图效果2

    先前用CSS3做了一个一张图片实现的轮播,但是这样的图片很难找,于是又改进了一下. HTML: <div class="box"> <ul> <li& ...

  9. Storyboard里面的几种Segue区别和视图的切换

    几种segue:push.modal.popover.replace.cutom. 一.视图切换类型介绍 1.在iPhone和iPad中,segue的类型是不同的. 2.在iPhone中,segue有 ...

  10. 一些peoplecode小技巧【一】

    1. Get the description of the translate value: No need to write SQLEXEC on PSXLATITEM passing fieldn ...