您好,登錄后才能下訂單哦!
小編給大家分享一下人工智能中實用性比較強的文字識別接口有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
實用性比較強的文字識別接口。百度AI接口對接挺容易的,簽名加密都沒有涉及到。唯一的缺點就是接口文檔寫的不夠完善,容易遇見坑。之前第一個實用性接口:身份證識別接口,我們當時只以正面照做了示例,該接口不支持圖片url,而是需要將圖片數據以BASE64編碼。我們直接貼關鍵代碼:
可能細心的讀者會發現我代碼好像變了!和上篇文章的代碼改動非常大,我們先看看上節課對圖片BASE64編碼實現代碼:
var image = fs.readFileSync('./../public/images/begin.jpg').toString('base64');
可以發現我上篇文章實際上是將圖片放在項目public靜態文件夾下,然后使用NodeJS異步讀取文件去讀取圖片數據,然后進行BASE64編碼。但是在實際開發中這個邏輯是非常不合理的!不合理在哪呢?主要有以下兩點:
只能識別項目本地照片,往往不符合需求如果項目本地存放過多照片,可能會大大降低效率
所以可以看到我對接口做了適當的修改,前端通過傳參圖片url,然后通過http.get()去不斷緩沖圖片數據,然后將數據轉化為一個Buffer對象,最后再進行BASE64編碼。
我們可以看下修改過后的接口效果:
(圖片來源于百度,假數據)
可以看到我們傳入圖片url,最后可以轉化為BASE64編碼再調用接口可以成功解析到用戶身份證文字信息。但是這樣操作優缺點在哪呢:
優點:相對于讀取本地照片,用戶可以傳入指定圖片的url進行緩沖數據再進 行編碼為BASE64,可以達到文字識別用戶想要上傳的圖片。 缺點:用戶如果想要文字識別手機電腦本地的照片就會特別麻煩,需要先將照 片上傳到服務器,(比如七牛圖片服務器),然后再將圖片url傳入接口去 進行解析,大大降低了用戶體驗。
所以這樣的方案其實也是不合理的,那怎樣去修改方案才會更合理呢?其實我覺得有兩種方案可以進行選擇:
1.如果圖片只需要解析不需要進行保存,前端提供用戶選擇本地圖片操作,
直接編碼為BASE64,然后直接將BASE64編碼傳遞給后端,后端直接調用
接口解析圖片文字信息。
2.如果圖片需要進行保存,可以前端將圖片轉化為binary格式,后端先將圖
片上傳到服務器或者直接傳到對象存儲oss,然后獲得圖片路徑,使用現
在的方法加載緩沖數據,進行BASE64編碼最后調用接口解析圖片文字信息。
這部分我沒有去繼續優化了,有興趣的可以結合我之前上傳圖片的文章:Node上傳文件(1) 去繼續進行優化接口。
那么我們講解完現在接口實現的具體思路,我們可以著手來實現幾個實用性接口看下效果。首先我們先來看看第一個實用性接口:銀行卡照片識別。
銀行卡照片識別
這個接口的用處看接口名就可以知道了:識別銀行卡并返回卡號、有效期、發卡行和卡片類型。首先我們先看看文檔對于接口的具體說明:
這個接口請求參數很簡單明了,攜帶access_token進行鑒權,image為圖片緩沖數據的BASE64編碼。接下來貼下關鍵代碼:
我們可以測試下傳入銀行卡照片是否能解析出銀行卡的有效信息:
可以看到傳入url可以成功解析出銀行卡照片上面所攜帶的基本信息。我們直接貼下返回參數文檔說明:
營業執照識別
顧名思義這個接口就是識別營業執照的照片:可以識別營業執照,并返回關鍵字段的值,包括單位名稱、類型、法人、地址、有效期、證件編號、社會信用代碼等。首先一樣直接貼下文檔請求參數的說明:
必傳參數一樣固定有access_token以及image。有兩個選傳參數可以視情況進行傳參。接下來貼下關鍵代碼:
我直接百度找一個營業執照鏈接進行測試接口效果:
可以看到營業信息成功解析了,返回信息過多所以我就沒有全部進行截圖。我貼下返回參數文檔說明:
護照識別
支持對中國大陸居民護照的資料頁進行結構化識別,包含國家碼、姓名、姓名拼音、性別、護照號、出生日期、出生地點、簽發日期、有效期至、簽發地點。先貼下請求參數文檔說明:
請求參數也很簡潔,只需要攜帶access_token鑒權,以及圖片進行BASE64編碼后的image參數。我們貼下關鍵代碼:
我們直接測試一下接口效果:
直接貼上返回參數文檔說明,可以自行去理解參數含義:
表格文字識別(內含兩個接口)
自動識別表格線及表格內容,結構化輸出表頭、表尾及每個單元格的文字內容。 本接口為異步接口,分為兩個API:提交請求接口、獲取結果接口。下面分別描述兩個接口的使用方法。
提交請求接口
直接貼下請求參數文檔說明:
本接口一樣還是兩個必須參數:access_token以及image。我們貼下關鍵代碼:
我們可以看下請求接口關于返回參數的文檔說明:
也就是說請求結果傳入image,會返回一個request_id,然后我們可以在下一個結果通過傳入request_id來獲取解析結果。現在我們先看看接口效果:
可以看到我們成功獲取到request_id。接下來我們看看第二個接口獲取表格解析結果。首先先貼下請求參數說明:
通過上一步取到的request_id以及access_token可以獲取解析結果。返回結果我們通過傳參result_type指定返回結果的類型為excel或者json格式。接下來直接在第一步的代碼進行改進增加第二步操作:
我們在第一次調用
PostHelper.baseRequestBase(url, param, function(err, data))
發起請求返回request_id,然后攜帶request_id再次發起請求獲取解析表格結果。我們可以看下結果返回結果:
可以看到表格圖片中的數據成功被解析出來了。當然我們選擇將第二次請求攜帶的參數result_type改成excel,接口就會將表格圖片中的數據解析成一個excel表格并返回鏈接。我們可以測試下效果:
可以看到接口返回excel表格的下載鏈接。這樣有一個好處就是比如我們數據庫設計表截個數據表的圖,扔進接口里面就可以自動生成一個表格鏈接供我們進行下載,省卻了我們制作數據表的時間和精力。
相對比較實用的接口且免費的接口基本有以上幾個,其實百度AI提供了一系列接口。但是我這里就不準備一一介紹了,有興趣可以自行查看百度AI文字識別文檔:
https://ai.baidu.com/docs#/OCR-API/87932804
其實業務開發過程如果適當的引入人臉識別,文字識別等AI接口確實可以很大程度提升用戶的體驗,更大程度的留住潛在的客戶。而且百度AI還提供了一系列需要申請權限的接口,很大成都方便了我們的開發,我們不必去追究底層是如何識別圖片中的文字的,就可以快速接入API識別我們需要的功能。
以上是“人工智能中實用性比較強的文字識別接口有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。