实例概要

python借助腾讯文本辨识机能,同时实现对上载的相片展开扫描器,以获取相片的文本重要信息,并聚合可继续执行的流程。

开发自然环境:Windows7+python3.7+pycharm2018.2.4(开发辅助工具);

产品目录政府机构:文档夹build、dist和文档discernImg.spec是聚合exe时造成的统计数据;

工具集同时实现相片辨识文本流程插图

终效用:

工具集同时实现相片辨识文本流程插图1

腾讯端建立应用领域

建立操作过程参照《QQ小流程借助腾讯AI同时实现扫描器身分证点对点机能》(把图像辨识换为文本辨识)。

同时实现操作过程

一、随身听UI结构设计

1、加装组件和实用性辅助工具,参照《python同时实现短篇小说随身听》

2、运转辅助工具QtDesigner,借助QtDesigner辅助widget结构设计时球面效用(所须要的命令行可查阅左边地区),留存效用为文档dc.ui;

工具集同时实现相片辨识文本流程插图2

3、对文档dc.ui继续执行pyUIC(ui转化为py代码),继续执行完聚合文档dc.py。

二、代码结构设计

文档discernImg.py代码如下,具体代码解释可参照《python智能联系人管理》;

Tips:tokenUrl更换为文本辨识,详细可参照

https://cloud.baidu.com/doc/OCR/s/Sk3h7xyad;

from PyQt5.QtWidgetsimport*from PyQt5.QtGuiimport* 引入自定义组件importdc 引入内置组件importsysimport os 引入第三方组件importrequests, base64from PILimportImageclass parentWindow(QWidget, dc.Ui_Form): 初始化方法 def __init__(self): 找到父类 首页面super(parentWindow, self).__init__() 初始化页面方法 self.setupUi(self) 点击选择相片 self.selectImg.clicked.connect(self.openfile) 点击查阅相片 self.viewImg.clicked.connect(self.viewbtn) 选择相片继续执行方法 def openfile(self): 启动选择文档对话空,查找jpg以及png相片 self.download_path = QFileDialog.getOpenFileName(self,“选择要辨识的相片”, os.getcwd(),“Image Files(*.jpg *.png)”) 判断是否选择相片ifnot self.download_path[0].strip(): QMessageBox.information(self,提示重要信息,没有选择名片相片) passelse: pixmap解析相片 pixmap = QPixmap(self.download_path[0]) 设置相片 self.imgLabel.setPixmap(pixmap) 让相片自适应label大小 self.imgLabel.setScaledContents(True)try: 辨识名片相片返回辨识结果 content = self.recgImg() except: QMessageBox.information(self,提示重要信息,辨识错误请重新选择相片) 辨识相片的统计数据赋值 words_result = content[words_result] print(words_result) text =foriteminwords_result:forvinitem.values(): text = text +\n+ v self.discernText.setText(text) 辨识名片相片 def recgImg(self): 以获取baiduToken apikey =你的apikeyseckey =你的seckeytokenUrl =https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=+ apikey +&client_secret=+ seckey res = requests.get(url=tokenUrl, headers={content-type:application/json; charset=UTF-8}).json() baiduToken = res[access_token]相片辨识(API)request_url =“https://aip.baidubce.com/rest/2.0/ocr/v1/webimage”二进制方式打开相片文档 f =open(self.download_path[0],rb) img = base64.b64encode(f.read()) params = {“image”: img} access_token =[调用鉴权接口以获取的token]request_url = request_url +“?access_token=”+ baiduToken headers = {content-type:application/x-www-form-urlencoded} response = requests.post(request_url,data=params, headers=headers)ifresponse: print(response.json())returnresponse.json() 点击查阅相片显示大图机能 def viewbtn(self):ifself.download_path: 使用电脑中的看图辅助工具打开相片 img = Image.open(self.download_path[0]) 显示相片 img.show()else: QMessageBox.information(self,提示重要信息,先选择名片相片)if__name__ ==__main__: 每一个PyQt5应用领域都必须建立一个应用领域对象 app = QApplication(sys.argv) 初始化页面 window = parentWindow() 显示首页 window.show() sys.exit(app.exec_())

三、打包成exe

在项目下继续执行语句pyinstaller -F discernImg.py,打包成功后项目中新增dist文档,exe文档即为打包后的流程。

工具集同时实现相片辨识文本流程插图3

作者 nasiapp

在线客服
官方客服
我们将24小时内回复。
12:01
您好,有任何疑问请与我们联系!

选择聊天工具: