python实现图像识别

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 AipOcr

import 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

回到顶部