用 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 逐梦苍穹 习近平引领航天强国建设 4998145
- 2 神十八发射取得圆满成功 4920627
- 3 职高女孩逆袭成双一流大学研究生 4891897
- 4 解码首季经济成绩单 4759275
- 5 女子火车上如厕时130g黄金掉落铁轨 4621455
- 6 余承东把问界M9送到360楼下 4576559
- 7 神十八点火瞬间航天员齐刷刷敬礼 4440447
- 8 00后边防新兵巡逻前vs巡逻后 4347336
- 9 深圳部分区域将取消限购不实 4293193
- 10 夫妻养2.8万只鸡 为省人工自己捡蛋 4188611