用 Python 制作可视化 GUI 界面,一键提取图片当中的数据并保存至 Excel 当中

Python代码,批量识别核酸截图的故事,被人民日报公众号广泛报道,夸赞其将所学之知识技术应用到实际生活当中,大大减少了人力的投入,提高了效率。当中用到了OCR的技术来识别图表当中的数据,同时对于不懂技术的童鞋来来说不懂如何去操作,因此今天小编制作了一个UI界面来自动化一键提取图片当中的数据。
安装模块
easyocr模块,通过pip命令pip?install?easyocr
UI界面的框架小编选择的是PyQt框架,因为它支持手动绘制控件,并且可以动态加载,我们在Pycharm当中添加上QtDesigner作为外部工具,来进行界面设置,生成ui文件,步骤如下
QtDesigner的初始界面,整体的过程就是将我们需要的控件拖到界面当中即可,
UI界面的设计如下

代码逻辑
#?选择本地图片上传
def?uploadImages(self):
????global?imgNamepath_list??#?这里为了方便别的地方引用图片路径,将其设置为全局变量
????#?弹出一个文件选择框,第一个返回值imgName记录选中的文件路径+文件名,第二个返回值imgType记录文件的类型
????#?QFileDialog就是系统对话框的那个类第一个参数是上下文,第二个参数是弹框的名字,第三个参数是默认打开的路径,第四个参数是需要的格式
????imgNamepath_list,?imgType?=?QFileDialog.getOpenFileNames(self.ui,?"上传文件",?r"C:\Users",?"*.png;;*.jpg;;All?Files(*)")
????#?print("imgNamepath_list:?",?imgNamepath_list)
????#?显示所选图片的路径
????self.ui.lineEdit.setText(",".join(imgNamepath_list))

我们需要提取出来的是姓名、出生年月、住址信息等等,代码如下
data?=?[]
for?imgNamepath?in?imgNamepath_list:
????content?=?ocr.readtext(f'{imgNamepath}',?detail=0)
????print(f"正在识别:{imgNamepath}")
????name?=?content[0][4:]
????gender?=?content[1][-1]
????country?=?content[2][-1]
????date_of_birth?=?content[-5]
????address?=?content[-4][4:]?+?content[-3]
????id_number?=?content[-1]
????data.append([name,?gender,?country,?date_of_birth,?address,?id_number])
df?=?pd.DataFrame(data,?columns=["姓名",?"性别",?"民族",?"出生",?"住址",?"身份证号"])
df.to_excel(r"C:\Users\PC120\Desktop\识别结果.xlsx",?index=False)
msg_box?=?QMessageBox(QMessageBox.Information,?'完成',?'提取完成',?QMessageBox.Yes)
msg_box.exec_()
最后我们来看一下最后的效果


分享
点收藏
点点赞
点在看
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 习近平将发表二〇二六年新年贺词 7904141
- 2 2026年国补政策来了 7808738
- 3 东部战区:开火!开火!全部命中! 7712893
- 4 2026年这些民生政策将惠及百姓 7616985
- 5 小学食堂米线过期2.5小时被罚5万 7519709
- 6 解放军喊话驱离台军 原声曝光 7428214
- 7 为博流量直播踩烈士陵墓?绝不姑息 7327605
- 8 每月最高800元!多地发放养老消费券 7238391
- 9 数字人民币升级 1月1日起将计付利息 7141831
- 10 2026年1月1日起 一批新规将施行 7040675






AI100
