背景:
公司業務需要大量的識別圖片,所以采用百度的API
接口描述
在通用文字識別的基礎上,提供更高精度的識別服務,支持更多語種識別(丹麥語、荷蘭語、馬來語、瑞典語、印尼語、波蘭語、羅馬尼亞語、土耳其語、希臘語、匈牙利語),並將字庫從1w+擴展到2w+,能識別所有常用字和大部分生僻字
請求說明
請求示例
HTTP 方法:POST
請求URL: https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic
URL參數:
參數 | 值 |
---|---|
access_token | 通過API Key和Secret Key獲取的access_token,參考“Access Token獲取” |
Header如下:
參數 | 值 |
---|---|
Content-Type | application/x-www-form-urlencoded |
Body中放置請求參數,參數詳情如下:
請求參數
參數 | 是否必選 | 類型 | 可選值范圍 | 說明 |
---|---|---|---|---|
image | 是 | string | - | 圖像數據,base64編碼后進行urlencode,要求base64編碼和urlencode后大小不超過4M,最短邊至少15px,最長邊最大4096px,支持jpg/jpeg/png/bmp格式 |
language_type | 否 | string | auto_detect CHN_ENG ENG JAP KOR FRE SPA POR GER ITA RUS DAN DUT MAL SWE IND POL ROM TUR GRE HUN |
識別語言類型,默認為CHN_ENG 可選值包括: - auto_detect:自動檢測語言,並識別 - CHN_ENG:中英文混合 - ENG:英文 - JAP:日語 - KOR:韓語 - FRE:法語 - SPA:西班牙語 - POR:葡萄牙語 - GER:德語 - ITA:意大利語 - RUS:俄語 - DAN:丹麥語 - DUT:荷蘭語 - MAL:馬來語 - SWE:瑞典語 - IND:印尼語 - POL:波蘭語 - ROM:羅馬尼亞語 - TUR:土耳其語 - GRE:希臘語 - HUN:匈牙利語 |
detect_direction | 否 | string | true/false | 是否檢測圖像朝向,默認不檢測,即:false。朝向是指輸入圖像是正常方向、逆時針旋轉90/180/270度。可選值包括: - true:檢測朝向; - false:不檢測朝向 |
paragraph | 否 | string | true/false | 是否輸出段落信息 |
probability | 否 | string | true/false | 是否返回識別結果中每一行的置信度 |
請求代碼示例
package com.baidu.ai.aip; import com.baidu.ai.aip.utils.Base64Util; import com.baidu.ai.aip.utils.FileUtil; import com.baidu.ai.aip.utils.HttpUtil; import java.net.URLEncoder; /** * 通用文字識別(高精度版) */ public class AccurateBasic { /** * 重要提示代碼中所需工具類 * FileUtil,Base64Util,HttpUtil,GsonUtils請從 * https://ai.baidu.com/file/658A35ABAB2D404FBF903F64D47C1F72 * https://ai.baidu.com/file/C8D81F3301E24D2892968F09AE1AD6E2 * https://ai.baidu.com/file/544D677F5D4E4F17B4122FBD60DB82B3 * https://ai.baidu.com/file/470B3ACCA3FE43788B5A963BF0B625F3 * 下載 */ public static String accurateBasic() { // 請求url String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic"; try { // 本地文件路徑 String filePath = "[本地文件路徑]"; byte[] imgData = FileUtil.readFileByBytes(filePath); String imgStr = Base64Util.encode(imgData); String imgParam = URLEncoder.encode(imgStr, "UTF-8"); String param = "image=" + imgParam; // 注意這里僅為了簡化編碼每一次請求都去獲取access_token,線上環境access_token有過期時間, 客戶端可自行緩存,過期后重新獲取。 String accessToken = "[調用鑒權接口獲取的token]"; String result = HttpUtil.post(url, accessToken, param); System.out.println(result); return result; } catch (Exception e) { e.printStackTrace(); } return null; } public static void main(String[] args) { AccurateBasic.accurateBasic(); } }