赞
踩
了解我的小伙伴可能都知道,经常给大家送书,不算联合抽奖送书,单独我自购+出版社赞助已累计送出几百本书籍。
如果是自购的话,还需要自己联系快速小哥寄出书籍。
寄出后快递小哥会给我截图来反馈,然而我想要单号的时候就遇到问题了。
每次寄完书,我都只能得到n个截图(内含快递信息)。
为了及时反馈大家物流信息,我需要尽快将快递单号提取出来。
每次大概都有十几到几十张截图,手动去识别真的太麻烦。
不如先看看每张截图大概是什么样子,再去想想批量处理的办法吧。
主要是为了批量获取图片中的快递单号,我想到了两个解决办法:
用python识别条形码来直接获得准确快递单号
用python调用ocr,识别截图中的快递单号文字
大家觉得哪个更简单更准确呢?
今天我先聊聊第一种方法的流程和踩坑经历。
首先,第一步需要先获取文件夹中的所有截图,再依次进行条形码识别。
具体操作可以参考注释
- import os
-
- def get_jpg():
- jpgs = []
- path = os.getcwd()
- for i in os.listdir(path): #获取文件列表
- if i.split(".")[-1] == "jpg": #筛选jpg文件(截图)
- oldname=os.path.join(path,i) #旧文件名
- i = i.replace('微信图片_','')
- newname=os.path.join(path,i) #新文件名
- os.rename(oldname,newname) #改名
- jpgs.append(i)
- return jpgs
上面的代码中除了遍历筛选图片,还涉及了改名的操作。
这是因为我在后面使用 opencv 时,打开的路径只要含有中文就会一直报错,于是我就干脆把截图名称里的中文去除。
执行构建的get_jpg()
函数,得到
这些就是演示文件中的四个截图文件,下面开始对他们进行识别。
python的第三方模块 pyzbar
可以很方便地处理二维码的识别。我们这次用它来识别一维条形码的话,用法也大致一样。不过还要搭配 cv2 使用,主要是为了利用cv2.imread()
来读取图片文件。
注意:对于cv2模块,安装时需要输入
pip3 install opencv-python
,但在导入的时候采用import cv2
。
识别条形码的具体语句如下所示:
- import pyzbar.pyzbar as pyzbar
- import cv2
-
- def get_barcode(img):
- image = cv2.imread(img)
- barcodes = pyzbar.decode(image)
- barcode = barcodes[0]
- barcode_data = barcode.data.decode("utf-8")
- return barcode_data
上面构建的get_barcode()
函数可以实现识别条形码,并返回结果数据。
我们可以用for循环遍历前文获取的所有图片,再依次使用get_barcode()
函数来识别条形码。
- data_m =[]
- for i in jpgs:
- data = get_barcode(i)
- data_m.append(data)
- data_m
可以发现,成功识别了四张截图里的条形码,并获取了对应的快递单号。
回顾今天的问题案例,我先通过思考想出了两种解决办法。第一种的优点是识别条形码比OCR更准确,但是其只获取了快递单号。后续在给获得赠书的同学反馈时,我还需要手动将名字和单号对应,不够偷懒。后续将给大家介绍第二种方法的流程和优缺点。
如果想看更多python改变生活的真实问题案例,给本文右下角点个赞吧????
如果你也有一直想用python解决的问题,欢迎在评论区告诉我????
我们的文章到此就结束啦,如果你喜欢今天的Python实战教程,请持续关注菜鸟学Python。
推荐阅读:入门: 最全的零基础学Python的问题 | 零基础学了8个月的Python | 实战项目 |学Python就是这条捷径干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 | 从万众期待到口碑扑街!唐探3令人失望 | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python《天天酷跑》游戏!AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!| 再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|年度爆款文案1).卧槽!Pdf转Word用Python轻松搞定!2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密 4).80行代码!用Python做一个哆来A梦分身 5).你必须掌握的20个python代码,短小精悍,用处无穷 6).30个Python奇淫技巧集 7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货 8).再见Python!我要学Go了!2500字深度分析!9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片点阅读原文,领AI全套资料!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。