在生活中我们有时候会遇到用电脑扫描更方便的情形,但是奈何现在的电脑程序都没有提供扫描二维码的功能,所以我花了半天的时间专门做了一个电脑扫描二维码程序。

实现目标:利用电脑摄像头识别二维码中的内容并自动打开浏览器进行浏览,同时发出扫描成功的音效。

废话不多说,上代码!

"""
准备工作:
二维码图片
导入pyzbar库:pip install pyzbar
实现目标:
利用摄像头识别二维码中的内容并打印出来
"""
import cv2
import pyzbar.pyzbar as pyzbar
import webbrowser
import os
from pygame import mixer
import timedef decodeDisplay(video,flag):# 转为灰度图像gray = cv2.cvtColor(video, cv2.COLOR_BGR2GRAY)barcodes = pyzbar.decode(gray)for barcode in barcodes:# 提取二维码的位置,然后用边框标识出来在视频中(x, y, w, h) = barcode.rectcv2.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}".format(barcodeData))#识别到结果后打开网页,并将识别程序自动关闭(否则会不停的识别,弹出非常多的网页)for i in range(0,1):result = barcodeDatawebbrowser.open(result)flag=27#播放二维码识别成功音效mixer.init()mixer.music.load('二维码.wav')mixer.music.play()time.sleep(5)mixer.music.stop()return flagcv2.imshow("QRCODE",video)def detect():cap = cv2.VideoCapture(0)while(True):# 逐帧捕获ret, frame = cap.read()flag = cv2.waitKey(1)flag = decodeDisplay(frame,flag)if flag == 27:#按下ESC键退出break# 一切完成后,释放捕获cap.release()cv2.destroyAllWindows()if __name__ == '__main__':detect()

是不是很像我们手机扫描二维码的感觉呢?

PS:代码中注释 “提取二维码的位置,然后用边框标识出来在视频中”, 由于我设置的逐帧捕获速度太快,所以识别框没来的及标注就已经打开浏览器了。为了更像手机端体验,同时我设置浏览成功后程序马上关闭。

python+opencv制作电脑摄像头扫描二维码并自动打开相关推荐

  1. 根据url地址生成二维码,微信扫描二维码可直接打开网址

    需求:根据url地址生成二维码,微信扫描二维码可直接打开网址 html代码: <input id="text" type="text" value=&qu ...

  2. 微信扫描二维码实现自动跳转 微信直接下载App(iOS/Android)的解决方案

    微信扫描二维码实现自动跳转 微信直接下载App(iOS/Android)的解决方案 参考文章: (1)微信扫描二维码实现自动跳转 微信直接下载App(iOS/Android)的解决方案 (2)http ...

  3. Java使用opencv调用微信扫描二维码引擎,附带windows和linux需要的动态库文件

    前言 最近公司项目有一个需求,要用二维码传递数据.于是使用了zxing生成和解析二维码,但是zxing扫描二维码原图还可以,一旦扫描用户使用手机拍摄的二维码,识别率急剧下降.尝试了对拍摄的照片进行降噪 ...

  4. Python实现PC摄像头扫描二维码,让你的电脑变身QR码识读器!

    目录 简介: 源代码: 源代码说明: 效果如下所示: 简介: 使用PC摄像机扫描二维码可以有很多应用场景,例如: 支付宝.微信支付等移动支付方式需要使用二维码进行支付,PC摄像机可以扫描这些支付二维码 ...

  5. 【毕业设计】python+opencv+深度学习实现二维码识别

    文章目录 0 前言 2 二维码基础概念 2.1 二维码介绍 2.2 QRCode 2.3 QRCode 特点 3 机器视觉二维码识别技术 3.1 二维码的识别流程 3.2 二维码定位 3.3 常用的扫 ...

  6. 微信扫描二维码实现自动跳转

    问题描述:二维码的内容为一个连接.如:www.xiangzimomo.cn,用微信扫一扫的功能,只能扫描出www.xiangzimomo.cn连接,需要点击才能完成跳转,如图: 解决方案:只需要将内容 ...

  7. 扫描二维码启动微信打开特定页面

    问题来源 由于微信引流具备快速性和高效的二次传播性,故众多商家纷纷选择微信推广为主要的推广方式.但在使用微信分享链接和营销方案的过程中经常会遇到分享链接在微信内被拦截的情况,导致引流来的用户由于无法打 ...

  8. ios 扫描二维码实现自动放大和手势双击放大

    由于客户要求,需要实现扫瞄二维码是实现自动拉近的效果,但是找了几个三方都没有这个效果,于是经过比较,最后修改对SGQRCode这个三方做了些修改,简单实现了这个功能,双击的时候会对焦拉进,效果如下. ...

  9. 微信点击链接或者扫描二维码通过默认浏览器打开指定链接是如何实现的

    微信上进行的网页宣传.游戏传播.APP下载各类活动很多,但是各位朋友肯定经常会遇到一些特殊需求,网页需要在手机默认浏览器打开而不是微信内置浏览器.这个问题怎么解决呢? 解决方案:微信中打开链接,自动打 ...

最新文章

  1. 字符串的模式匹配,KMP算法
  2. 初中计算机word试题,初中计算机会考word试题WORD11
  3. BIEE多层表头报表的制作方法
  4. javascript冷门吗_分享几个html5冷门小知识
  5. string也可以很精彩
  6. 快速设置XMind中的设置联系
  7. Android小知识10则(上)(2018.8重编版)
  8. layui option 动态添加_layuiselect如何动态添加option
  9. 一个简单HTML标签marquee实现动态滚动条
  10. 同事线上埋的这个坑,我整整找了3天3夜
  11. postman websocket_postman的“替代者”postwoman的使用体验—从入门到放弃
  12. 高德地图api中的adcode城市编码
  13. Windows常用快捷键【快查字典版】
  14. 迅雷“应版权方要求,文件无法下载”完美解决方法!
  15. 模板类和友元的总结和实例验证
  16. 港科百创 | 苏孝宇教授团队获数千万元Pre-A轮融资,祝贺「音科思」!
  17. 交通·未来系列学术活动第1期:时空交通数据预测方法及应用
  18. 百菜不如白菜 娃娃菜更营养吗
  19. 微信企业号开发实例源码
  20. 计算机抓桌面图用,图片——要抓就抓最清晰的 -电脑资料

热门文章

  1. 用flash做连线题(线的一端跟随鼠标)
  2. JPA中could not insert: 的解决办法
  3. macOS 如何游玩Renpy游戏
  4. java类实现接口关键字_一个Java类实现一个接口使用的是implements关键字。
  5. WPS新建文字分享微信.docx形式_高效神器:花 5 分钟输入文字,就能自动变成 PPT...
  6. Git之(三)Git中常用命令——分支管理
  7. Telegram APIs中文介绍
  8. SAP SD发货流程中托盘的管理
  9. gii无法访问 yii2_YII2框架访问gii、debug页面404的错误解决方法
  10. c语言考试排座位系统源程序,c语言_排考场座位问题:.doc