pip3 install pyzbar
 
准备工作:
二维码图片,我这里直接打印在了一张A4纸上,或者直接在草料网站上生成 草料二维码生成器,存放在手机上进行显示。在安装条码扫描库的时候大家注意:zbar库只针对 python2 版本有支持,python3已经不再支持。课程中使用的是python3,所以我们只能安装 pyzbar,安装命令如下: pip3 install pyzbar
实现目标
利用摄像头识别二维码中的内容并打印出来,同时兼容识别条形码内容
打开pycharm开发工具,在项目中新建 code.py 文件,文件代码如下: # -*- coding:utf-8 –*-
import cv2
import pyzbar.pyzbar as pyzbar def decodeDisplay(video):
# 转为灰度图像
gray = cv2.cvtColor(video, cv2.COLOR_BGR2GRAY)
barcodes = pyzbar.decode(gray)
for barcode in barcodes:
# 提取二维码的位置,然后用边框标识出来在视频中
(x, y, w, h) = barcode.rect
cv2.rectangle(video, (x, y), (x + w, y + h), (0, 255, 0), 2)
# 字符串转换
barcodeData = barcode.data.decode("utf-8")
barcodeType = barcode.type
# 在图像上面显示识别出来的内容
text = "{}".format(barcodeData)
cv2.putText(video, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX,1, (0, 255, 0), 2)
# 打印识别后的内容
print("[扫描结果] 二维码类别: {0} 内容: {1}".format(barcodeType, barcodeData))
cv2.imshow("cam", video) def detect():
cv2.namedWindow("cam",cv2.WINDOW_NORMAL)
cam = cv2.VideoCapture(0)
while True:
# 读取当前帧
ret, frame = cam.read()
decodeDisplay(frame)
# 按ESC键退出
if(cv2.waitKey(5)==27):
break
cam.release()
cv2.destroyAllWindows() if __name__ == '__main__':
detect()
 

最新文章

  1. 解决ubuntu下安装phpmyadmin访问不了的问题
  2. mac:ssh登陆总是需要输入钥匙串密码解决
  3. PHP学习笔记--文件目录操作(文件上传实例)
  4. 站点下的GridView的RowCommand事件的设置,与站点应用不一样
  5. php批量发送短信或邮件的方案
  6. The Derivation About CNN and Antoencoder
  7. F, A, MS, QM, RF的OFFER和经历 -- Final update
  8. Android 圆形背景shape定义
  9. Spinner样式大全
  10. docker中管理数据
  11. HDU5907 Find Q 数学
  12. 【Egret】Lakeshore 使用中的一些疑难解决技巧!
  13. app.config的坑
  14. WPF: 自动设置Owner的ShowDialog 适用于MVVM
  15. Sql Server登录失败问题
  16. nginx配置https访问
  17. ES系列十六、集群配置和维护管理
  18. vsts 管理 持续集成 跟自动化测试
  19. Oval框架如何校验枚举类型的一种思路
  20. SpringMvc+JavaConfig+Idea 基于JavaConfig搭建项目

热门文章

  1. 导出excel类型转换
  2. 职场IT老手教你3步教你玩转可视化大屏设计,让领导眼前一亮!
  3. 普冉PY32系列(五) 使用JLink RTT代替串口输出日志
  4. 力扣每日一题2023.1.16---1813. 句子相似性 III
  5. ES简介
  6. Vue14 条件渲染
  7. 线程私有变量ThreadLocal详解
  8. Docker安装SqlServer、Mysql、MariaDB
  9. 2021级《JAVA语言程序设计》上机考试试题
  10. vue3.0+echart可视化