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
四. 效果如下
截取一張圖片,並調用接口進行識別