栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

批量识别提取核酸检测二维码信息的实现

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

批量识别提取核酸检测二维码信息的实现

文章目录

前言

一、工具

二、实现

1.思路

2.代码

总结



前言

如图,班级50余名学生提交的核酸检测二维码和其他图片混合,需要逐一验证二维码信息是否填写正确。用Python编写一个小程序来实现批量识别提取,导入数据到电子表格,可以直接看电子表格核对。能极大减轻工作量。


一、工具

Python 3.8.6

二、实现

1.思路

 1.导入os模块,用os.walk()函数进行文件便利,将类型为jpg,gif,png的文件名读取出来。
        2.用pyzbar模块进行二维码识别,获取二维码信息。
        3.导入urllib模块,对识别的内容进行解码。
        4.导入xlwt模块将解码的内容写入excel文件中。
        需要解决的问题:非二维码图片信息要过滤掉。
        好了,将程序放到图片目录中运行,得到电子表格。打开电子表格,基本一眼就能看出哪位同学的二维码有问题。结果如下图:

 

2.代码

代码如下(示例):

# -*- coding: utf-8 -*-
from pyzbar import pyzbar
from PIL import Image
import os
import urllib.parse
import xlwt

def shibie(filename):
    global i
    if len(filename) != 0:
        img = Image.open(filename) # 含有条形码或二维码的图片
        results = pyzbar.decode(img) # 对图片进行解码
        for result in results:
            s=urllib.parse.unquote(result.data.decode('utf-8'))
            ls=s.split('&')
            if ls[0]!="":
                i+=1
                worksheet.write(i,0,i)
                worksheet.write(i,1,ls[0])
                worksheet.write(i,2,ls[2])
                worksheet.write(i,3,ls[5])
                worksheet.write(i,4,ls[6])

if __name__ == '__main__':

    print("开始识别……")
  
    workbook = xlwt.Workbook()
    worksheet = workbook.add_sheet('Sheet1')
    worksheet.write(0,0,"序号")
    worksheet.write(0,1,"姓名")
    worksheet.write(0,2,"身份证号")
    worksheet.write(0,3,"联系电话")
    worksheet.write(0,4,"地址")
    i=0
  
    Epath=os.walk(os.getcwd())
    for path,dir,filelist in Epath:
        for filename in filelist:
            filename=os.path.join(path,filename)
            if filename[-3:] in ["jpg","png","gif"]:
                shibie(filename)
            
    workbook.save("MyExcel.xls")
  
    input("识别完成,按回车键结束")
    

总结

比较简单,但是确实能解放双眼。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/864088.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号