利用Opencv+Python 实现二维码识别
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()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具