今天我們要學習的是在Python通過調用外部應用識別圖片中的文字(OCR)。我們并不需要探究艱深的.圖像識別的原理和算法,只需要站在巨人的肩膀上知道如何調用百度的文字識別服務就可以用二三十行代碼高效實現這個功能了。
首先,我們需要注冊百度AI開放平臺(aibaidu.corn),點擊控制臺后找到人工智能中的文字識別創建一個新應用,然后在應用詳情里記下我們代碼中所需的AppID、API Key、Secret Key。
接下來安裝SDK。CMD打開命令提示符,輸入pipinstall baidu-aip即可,如果沒有安裝pip,會提示命令不存在,已安裝可以跳過下面兩步。
安裝pip包。到pypi.python.org/pypi/pip下載并解包,打開命令提示符窗口,在pip的目錄下執行命令:python setup.PY install。如果提示“ImportError:No module named setuptools”則說明缺少“setuptools”包。
安裝setuptools包。到pypi.org/project/setuptools下載并解包,打開命令提示符窗口,在setuptools的目錄下執行命令:python setuP.PY install。
完成以上準備步驟后。開始編程。(圖1)


三個常量均為標示用戶,為訪問百度云做簽名驗證。AipOcr是百度的Python SDK客戶端的功能之一。為我們提供了一系列的識別圖片文字的方法。
要調用這一功能非常簡單。只需要這一句即可將圖片中的文字識別并返回:
result=client.basicGeneral(image);
現在我們通過以下實例代碼獲得本地圖片信息,執行圖像識別,結果用print輸出看看。百度識別結果為每行文字一個大括號,再用兩行代碼整理一下文本格式。程序如圖2。
執行程序,最基本的文字識別結果如圖3,這個應用流程應該是本地識別圖片信息上傳至百度云運算返回識別結果。經過測試識別效果優質高效。
當然這僅僅實現了最簡單的本地圖片文字的基本識別。這個接口還有多項參數可以支持多國語言和各類證照票據二維碼等特殊圖片的識別。有興趣的小朋友可以在https://cloud.baidu.com/doc/OCR/s/Rjwvxzm3n查看接口文檔。
這項服務的特殊功能有每天500次的免費使用次數,對于個人學習是完全夠用了。如果作為公開應用超量的話還需要付費。
這次我們使用百度提供的服務直接跨進了OCR軟件的門檻,在百度AI開放平臺上還有語音識別、人臉識別、機器學習、圖像識別等眾多高大上的功能,直接使用這些人工智能的成果完成自己的應用是不是覺得編程更加有趣了?
