02.05 一篇文章搞定百度OCR圖片文字識別API

鏈接:https://www.jianshu.com/p/7905d3b12104

研究百度OCR的API,主要是向做對掃描版的各種PDF進行文字識別並轉Word文檔的需求。

這裡用Postman客戶端進行測試和演示。因為Postman是對各種API操作的最佳入門方式。一旦在Postman裡實現了正確的調用,剩下的就只是一鍵生成代碼,和一些細節的修改了。

授權字符串 Access Token

Token字符串永遠是你使用別人API的第一步,簡單說,就是隻有你自己知道的密碼,在你每次向服務器發送的請求裡面加上這個字符串,就相當於完成了一次登錄。

如果沒有Token授權認證,API的訪問可能會像瀏覽網頁一樣簡單。

Access Token一般是調用API最重要也最麻煩的地方了:每個公司都不一樣,各種設置安全問題讓你的Token複雜化。而百度雲的Token,真的是麻煩到一定地步了。

參考:百度API的鑑權認證機制(建議你不要參考,因為它的流程圖會先把你鎮住的)

簡單說,獲取百度雲token字符串的主要流程就是:

  • 創建一個應用,獲得只有自己知道的id和密碼
  • 用POST方式把id和密碼發給百度的一個鏈接:
  • https://aip.baidubce.com/oauth/2.0/token
  • 其中,需要你向這個地址傳送三個參數:
  • grant_type = client_credentials這個是固定的
  • client_id = xxx這個是你在百度雲管理後臺創建OCR應用的時候,那個應用的API Key
  • client_secret = xxx這個是你的應用的Secret Key
  • 等待服務器返還給你一個包含token字符串的數據
  • 記住這個token字符串,並用來訪問每一次的API

來看看怎麼利用Postman操作,如下圖所示:

一篇文章搞定百度OCR圖片文字識別API

填好以後點擊Send發送,就會獲得一個JSON數據,如下圖:

一篇文章搞定百度OCR圖片文字識別API

然後你用你的程序(Python, PHP, Node.js等,隨便),獲取這個JSON中的access_token,

即可用到正式的API請求中,做為授權認證。

正式調用API: 以"通用文字識別"為例

API鏈接:https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic

提交方式:POST

調用方式有兩種:

  • 方式一:直接在URL填寫信息
  • 直接把API所需的認證信息放在URL裡是最簡單最方便的。
  • 方式二:Headers填寫信息方式
  • 建議忽略這種方式,需要填寫很多request的標準headers,太麻煩。

Headers設置:

  • Content-Type = application/x-www-form-urlencoded
  • 只要填這一項就夠了。

Body數據傳送的各項參數:

  • access_token = xxx把之前獲取到的token字符串填到這裡來
  • image = xxx把圖片轉成base64字符串填到這裡,不需要開頭的data:image/png;base64,
  • url = xxx也可以不用傳圖片而是傳一個圖片的鏈接。但是百年無效,不要用!
  • language_type = CHN_ENG識別語言類型。默認中英。

Body的數據如圖所示:

一篇文章搞定百度OCR圖片文字識別API

然後就可以點Send發送請求了。

成功後,可以得到百度雲返回的一個JSON數據,類似下圖:

一篇文章搞定百度OCR圖片文字識別API

返回的是一行一行的識別字符。百度雲的識別率是相當高的,幾乎100%吧。畢竟是國內本土的機器訓練出來的。

API常用地址

以下是百度雲的OCR常用API地址,每個API所需的參數都差不多,略有不同。所有的API和地址以及詳細所需的參數,參考官方文檔,很簡單。一個弄明白了就其他的都明白了。

API請求地址調用量限制通用文字識別https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic50000次/天免費通用文字識別(含位置信息版)https://aip.baidubce.com/rest/2.0/ocr/v1/general500次/天免費通用文字識別(高精度版)https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic500次/天免費通用文字識別(高精度含位置版)https://aip.baidubce.com/rest/2.0/ocr/v1/accurate50次/天免費網絡圖片文字識別https://aip.baidubce.com/rest/2.0/ocr/v1/webimage500次/天免費


分享到:


相關文章: