python中扫描条形码和二维码的实现代码
作者:帅boy的博客 发布时间:2023-02-15 23:00:12
标签:python,条形码,二维码
简单说明,代码太难懂,先做此记录留待来日在看
步骤:
1,pip install pyzbar
安装好该模块。pyzbar模块是Python一个开源库用于扫描和识别二维码信息。
2,随便在网上找好两张截图
3,
from pyzbar import pyzbar
import matplotlib.pyplot as plt
import cv2
#条形码定位及识别
def decode(image,barcodes):
#循环监测条形码
for barcode in barcodes:
#提取条形码边界框位置
#画出图中条形码的边界框
(x,y,w,h)=barcode.rect#获得这个图吗的x,y坐标和宽和高区域
cv2.rectangle(image,(x,y),(x+w,y+h),(255,0,0),5)#把它框起来用蓝色,线粗5
#条形码数据为字节对象,所以如果想在输出图像上
#画出来,就需要先将它装换为字符串
barcodeData=barcode.data.decode("utf-8")#将barcode的数据识别出来
barcodeType=barcode.type#类型也直接识别出来了
#绘制出图像上条形码的数据和条形码的类型
text="{} ({})".format(barcodeData , barcodeType)
cv2.putText(image,text,(x,y-10),cv2.FONT_HERSHEY_SCRIPT_SIMPLEX,8,(255,0,0),2) # cv2.putText(image,text,(x,y-10)
#像终端打印条形码数据和条形码类型
print("[INFO] Found {} barcode:{}".format(barcodeType,barcodeData))
plt.figure(figsize=(10,10))
plt.imshow(image)
plt.show()
#1,读取条形码图片
image=cv2.imread('tiaoxin.png')
bacodes=pyzbar.decode(image)#找到图片中的条形码并进行解码
decode(image,bacodes)#识别条形码
#二维码
image=cv2.imread('erwei.png')
bacodes=pyzbar.decode(image)
decode(image,bacodes)
运行效果:
来源:https://blog.csdn.net/qq_42757964/article/details/120619614
0
投稿
猜你喜欢
- 我们可以使用matplotlib.pyplot.locator_params()来控制刻度线 * 的行为。 即使通常会自动确定标记点的位置,
- 本文主要是记录ubuntu 16.04下python环境配置,具体内容如下对于ubuntu 16.04,由于本身是自带python,这样就减
- 今天好不容易闲下来半天,所以和大家分享一下我之前总结的一套Web UI 设计命名规范,也就是网站用户界面设计(俗称网页设计)命名规范。这套规
- 在设计网页时,经常遇到某些页面需限权访问的情况。比如,一个公司的某些产品只让某一或某些供应商或客户浏览。那么,我们如何实现这一功能呢?本文,
- 1、注册时验证数据库用户名是否存在。 2、输入密码时提示密码强度和验证2次密码输入是否一样。 3、注册时验证数据库联系邮箱是否存在。 4、注
- 一、使用django自带的user做外键,可以直接在model中使用。只需导入settings模块使用方法:在app应用(此处是Produc
- 目录1 简介2 在Dash中实现文件上传与下载2.1 在Dash中配合dash-uploader实现文件上传2.1.1
- RFC文档有很多,有时候在没有联网的情况下也想翻阅,只能下载一份留存本地了。看了看地址列表,大概是这个范围:http://www.netwo
- fixtures调用其他fixtures及fixture复用性 pytest最大的优点之一就是它非常灵活。它可以将复杂的测试需求简
- 核心代码function convert2utf8($string) { return iconv(&
- 最近安装了丘比特笔记本(jupyter notebook),各种快捷键和编辑模式用的非常舒服。但是我的默认浏览器是chrome每次回车换行都
- 在settings.py里,配置如下logging:LOGGING = { 'version': 1, 'disab
- 一维线性拟合数据为y=4x+5加上噪音结果:import numpy as npfrom mpl_toolkits.mplot3d impo
- 上一篇相关文章python_tkinter弹出对话框创建需要的可以参考一下1.fledialog对话框示例:askopenfilename(
- 元组的创建tuple=() #创建一个空元组print(tuple)print(type(tuple))输出:()<class
- SQL Server四类数据仓库建模的方法主要分为以下四类。第一类是关系数据库的三范式建模,通常我们将三范式建模方法用于建立各种操作型数据库
- 一、项目背景:为了回顾关于django的文件上传和分页功能,打算写一个微型的小说网站练练手。花了一个下午的时间,写了个小项目,发现其中其实遇
- 本文实例讲述了Python面向对象编程基础。分享给大家供大家参考,具体如下:1、类的定义Python中类的定义与对象的初始化如下,pytho
- 此程序为先调用opencv自带的人脸检测模型,检测到人脸后,再调用我自己训练好的模型去识别人脸,使用时更改模型地址即可#!usr/bin/e
- 或者说有一条命令 hostname [string],当string是不包含2950时,是true,包含2950时是false。使用Exce