python实现图像识别
百度OCR,pyside2,面向对象
pyside2免费中文文档链接推荐:http://www.byhy.net/tut/py/gui/qt_01/
百度OCR图像识别接口调用
一. 界面
1. 通过pyside2的qt designer工具自动化生成界面,并保存为xxx.ui文件,工具如下图:
2. 两种方法将xxx.ui文件(界面)载入到代码中使用。
- 利用pyuic5将xxx.ui文件转换成xxx.py文件,通过import xxx.py来使用界面(其中pyuic5可通过pip install pyqt5获得)
- 利用QUiLoader().load(\'xxx.ui\')动态载入ui文件
- 参考链接(pycharm中搭建designer与pyuic环境):https://www.cnblogs.com/hhs1998/p/15807691.html
3. 目前qt designer中没有控件可以实现图片缩放与移动,网络上有大佬通过graphicsView控件实现图片的缩放与移动,所以直接拿过来用。
链接(图片的缩放与移动):https://blog.csdn.net/weixin_44821251/article/details/106290132
二. 逻辑与界面的分离
pyside2通过信号(signal)与槽(slot)来实现逻辑
例子如下:
ui = QUiLoader().load(\'window.ui\')ui.button.clicked.connect(ocr_base)
#将window.ui文件加载使用
#使用button.clicked.connect(function)实现逻辑
#其中clicked就是信号,表示点击发生的事件
#参数里的function则表示槽,表示点击会执行该函数
三. OCR的调用
1. 通过tesserocr识别,这种识别不太精确,如果是较为模糊的图片,基本就无法识别
链接(tesserocr搭建以及实现):https://blog.csdn.net/lanxianghua/article/details/100516187?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
2. 通过baiduocr识别,创建测试账号,申请免费ocr调用次数,不过每月次数有限,但是个人使用足够了
链接(百度ocr介绍以及调用):https://www.cnblogs.com/adam012019/p/11440353.html
调用代码如下:
from aip import AipOcrimport re
APP_ID=\'17010327\'
API_KEY=\'X2MWCU1LG1PX5H6GAXgdlWD7\'
SECRET_KEY=\'vz6GZ6TkhSFvY3quqcuC3EG8oEW3kThB\'
client=AipOcr(APP_ID,API_KEY,SECRET_KEY)
i=open(r\'C:\Users\Administrator\Desktop\example.png\',\'rb\')
image = i.read()
result=client.basicGeneral(image)
#将所有的文字都合并到一起
for item in result[\'words_result\']:
print(item[\'words\'])
此处client里的3个参数,APP_ID,API_KEY,SECRET_KEY通过申请ocr调用获取
链接(百度智能云获取参数):https://blog.csdn.net/sunyong0814/article/details/122362502
四. 效果如下
截取一张图片,并调用接口进行识别
以上是 python实现图像识别 的全部内容, 来源链接: utcz.com/z/388765.html