基于PYQT5的AI图像识别工具

发布时间:2023-08-30 15:25:06   来源:心得体会    点击:   
字号:

黄 率

(湖南科技学院信息工程学院,湖南 永州 425199)

在过去的10年,人工智能技术实现了自动驾驶、实用的语音识别、图像识别和有效的网络搜索等。人工智能在今天是如此普及,以至于人们可能一天要使用几十次。在服装、制造等传统行业中,由于保密、安全、信息化水平等条件限制,在工作中有大量的表格需要在现场手工填写,然后再录入到信息系统中,存在重复工作且容易录错[1]。而采用中文手写体识别可对相应表格内容进行实时识别和自动录入,人工进行检查校验即可,能够减少大量人工工作量[2]。图片识别技术称为光学字符识别,它是计算机视觉领域中重要的研究分支,其较常见的应用是印刷体和手写体文本的识别,前者都是打印字体,相对比较规整,但是在印刷过程中设备和纸张的原因导致的印刷质量问题,会对光学字符识别模型的输入产生噪声影响,另外由于印刷样式、底纹背景和拍摄光线等也会对识别的结果产生干扰[3]。

人们在日常生活中由印刷体产生的各种证件,比如身份证、银行卡和驾驶证经常需要自动识别,并提取其中的数据信息。而基于人工智能的文字识别技术的优势就是对各种印刷体等进行文本识别,通过计算机图形学对表格进行识别,并将单元格进行切分,对每个单元格的图片,通过采用人工智能算法实现文本识别,可减少大量特征提取和处理的工作,并能够提高模型训练的准确率[4]。

2.1 需求分析

本文设计的AI图像识别工具需要在一张图片上获取相关信息。通过Python、PYQT5和百度AI开放平台开放接口实现简单的识别图像上的信息项目——AI图像识别工具。本文设计实现的工具可以识别银行卡图片、植物图片、动物图片、通用票据图片、营业执照图片、身份证图片、车牌号图片、驾驶证图片、行驶证图片、车型和LOGO等图片中的相关信息。

2.2 设计流程

AI图像识别工具的设计流程如图1所示。

图1 设计流程图

2.3 开发工具及准备

操作系统:Window7/8/10或者Ubuntu。开发工具:PyCharm。内置模块:urllib、urllib.request、base64、JSON。第三方模块:PyQt5。在开发AI图像识别工具项目时,主要使用了PyQt5搭建界面base64、urllib、urllib.request模块来获取百度API接口信息,使用JSON模块解析返回的JSON类型数据。

2.4 AI图像识别工具的开发

2.4.1 根据项目设计制作窗体

在设计AI图形识别工具的主窗体时,首先需要创建主窗体外层为红色框内,然后依次添加分类选择部分、图片选择部分、选择的图片显示区域、显示识别结果和复制识别结果部分。

2.4.2 添加分类

根据原型分析分类有银行卡、动物、植物、通用票据、营业执照、身份证、车牌号、驾驶证、行驶证、车型和LOGO等分类。需要添加分类到QComoBox中,代码如下:

2.4.3 选择识别的图片

选择识别图片功能,单击按钮后弹出选择框,进行图片选择,图片选择后显示图片路径以及图片预览效果,同时根据选择的分类去进行图像的识别。

1)为按钮添加单击时事件,代码如下:

Self.pushButton.clicked.connect(self.openfile)

2)实现新建openfile按钮单击事件方法,在该方法中打开文件选择对话框查找图片,返回选择的图片,进行相应的处理,包括显示图片、设置显示图片路径、调整创建的相关方法、判断选择类型进行图片的识别。

3)实现分类方法,根据选择的分类进行图片识别,核心代码如下:

2.4.4 图像识别

图像识别使用的是百度AI接口,访问百度接口,返回相应的数据,使用JSON模块进行处理。以银行卡识别为例,核心代码如下:

2.4.5 复制识别结果到剪贴板

通过上面的步骤我们获取到了图像的识别等结果,接下来实现复制识别结果到剪贴板,该功能在Python中很好实现。

为按钮添加单击事件,代码如下:Self.pushButton_2.clicked.connec(tself.copyText)

创建copyTex(t)方法,实现复制识别结构到剪贴板,核心代码如下:

Def copytex(tself):

clipboard=QApplicaion.clipboard()

clipboard.setTex(tself.label_3.tex(t))

对所开发的AI图像识别工具的各个功能模块进行功能测试,测试结果表明,各个模块的功能均达到了预期效果,界面和数据交互正常。当用户进行正常交互时,本工具可以正确地给出识别和反馈,工具可以正常使用。图2为车牌号识别截图,图3为植物识别截图。但是,目前工具中没有设置界面自动整理功能,可在后期维护中加入。总体来说,该工具功能表现正常,符合最初的设计要求。

图2 车牌号识别图

图3 植物识别图

本文设计并实现了一个基于PYQT5的AI图像识别工具。该工具将业务模块的设计过程以及urllib、JSON等技术应用到开发中。采用PYTHON进行代码编写,完成了一次从业务需求分析、业务模块的设计、编码实现和模块重构等过程的完整开发。

猜你喜欢印刷体车牌号图像识别西夏文楷书和草书手写体探微美与时代·美术学刊(2020年7期)2020-10-13浅谈小学英语字母手写体与印刷体的教学校园英语·月末(2020年4期)2020-06-08基于Resnet-50的猫狗图像识别电子制作(2019年16期)2019-09-27高速公路图像识别技术应用探讨中国交通信息化(2019年4期)2019-07-13差一点莫愁(2018年6期)2018-11-14图像识别在物联网上的应用电子制作(2018年19期)2018-11-14我出高考数学题(十八)高中生·天天向上(2018年9期)2018-11-06图像识别在水质检测中的应用电子制作(2018年14期)2018-08-21差一点儿故事大王(2016年10期)2016-11-07高考的时候,把字写得像印刷体有用吗中学生天地(C版)(2016年4期)2016-09-16