微信小程序“傳圖識字”是非常優秀的文字識別(OCR)軟件,但是小程序限制了普通用戶每天只能調用5次,當工作上需要識別很多圖片上的文本時,每天5次的調用限制就使得用戶很不方便,十分鬧心。因此我萌生了自制一個文字識別(OCR)軟件的想法。
一、費用
這里得開發主要是調用了百度得api,完全免費!百度的文字識別api提供給普通用戶每天50000次的免費調用次數,無論是測試開發需求,還是個人用戶的日常使用需求都完全可以得到滿足了。
百度的官方文檔二、注冊
百度智能云的注冊頁面也非常友好,提供一些簡單信息后就可以完成注冊了。
官方注冊界面三、創建API
完成注冊后可以進入百度智能云的控制臺,然后單擊文字識別的欄目,可以進入文字識別API的控制臺識別圖中文字api,在這里你可以看到自己賬號下面的文字識別板塊的相關信息。
在文字識別的版塊里單擊“創建應用”,即可創建你自己的文字識別api。
簡單輸入一下你的項目名稱、應用類型、應用描述等信息,你就可以得到屬于自己的,可以每天調用50000次的api。
當你成功創建應用后,在應用管理頁面,你就可以看到自己的AppID、API Key和 Key。
四、開發
當你完成了上述步驟,你就可以正式開始開發屬于你自己的文字識別程序了。
開發過程十分的簡單,只要你對一門編程語言有最基本的了解,在官方開發文檔的幫助下,你就可以很容易的完成你的開發。這里以使用為例子。
使用快捷鍵Win+R調出運行窗口,然后輸入CMD調出命令行,在命令行內執行命令 baidu-aip來完成 SDK的安裝。
pip baidu-aip
是OCR的 SDK客戶端,這是百度為使用OCR的開發人員所提供的一套交互方法。參考官方文檔,使用幾行代碼就可以完成的構建。
百度官方的開發文檔
當你完成了的構建以后識別圖中文字api,就可以通過來調用百度的文字識別接口了。
首先你要以二進制的方式讀取圖片(注意:會對二進制的圖片進行編碼,編碼后大小不能超過4M,否則無法上傳)。
def ():
= open(, 'rb')
.read()
然后調用所提供的方法來向百度的服務器提交請求,并獲得識別出來的文字。
.(image)
最后,再使用給程序加上一個圖形界面,以方便自己日常使用。到這里一個自制的文字識別程序就完成了。
加上圖形界面的效果五、運行效果
運行效果
注意:程序不支持右鍵復制粘貼,需要使用Ctrl+c和Ctel+v的快捷鍵來完成復制粘貼。
六、總結
整個項目的開發非常的簡單,只要你注冊創建了屬于自己的api,再簡單瀏覽一下官方的開發文檔,一個午休的時間,你就可以做出屬于自己的文字識別小程序,并且每天50000次的免費調用額度,完全可以滿足你的日常需要。
整個項目的核心代碼非常少,只有短短30行。
核心代碼
趕緊行動起來,開發屬于自己的免費的文字識別程序吧。當然,如果你著急使用,來不及自己開發,也可以先使用我做好的程序(記得把appid、和換成自己的,如果我的一天下來的使用次數超過50000次,那今天就無法使用了)。