圖像識別技術(shù)分析報告

一、背景

最近衙傀,我在負(fù)責(zé)做一個圖像識車的SDK抬吟,涉及到圖片壓縮,圖片旋轉(zhuǎn)统抬,pods和靜態(tài)庫的結(jié)合火本。所以我調(diào)研了幾個相關(guān)做圖像識別的2個大廠做出來的SDK,借此分享一下聪建,以及我們要借鑒他們設(shè)計產(chǎn)品的思路以及SDK的封裝钙畔。

二、 競品分析工程化案例

? ? 1. 百度文字識別(OCR)

? ? ?關(guān)于Optical Character Recognition(OCR)的基礎(chǔ)知識金麸,大家有興趣的可以先去了解一下擎析,這里就不便多做介紹。與OCR相結(jié)合的app 比較好的就有 名片全能王這款app 下面兩張圖片如下


圖片掃描


圖片識別結(jié)果

圖像識別的交互功能挥下,可以借鑒一下如上揍魂。

1.SDK分析

接下來挪鹏,讓我們看一下百度OCRS,是怎么封裝愉烙,怎么讓這些廠家調(diào)用的讨盒。

1.1 OCR服務(wù)SDK 包含什么

首先這個百度OCR服務(wù) ,包含了三個framework步责,如下:

AipBase.framework中包含了OCR服務(wù)相關(guān)基礎(chǔ)類返顺,必須引入。

IdcardQuality.framework包含了身份證質(zhì)量控制的功能蔓肯,按需引入遂鹊。

AipOcrSdk工程包含了相機相關(guān)操作,如果需要相機接口蔗包,需要引入

1.2 第一步驟秉扑,SDK集成與接口調(diào)用

使用SDK時,需要將AipBase.framework和AipOcrSdk.framework嵌入工程(Embed Binary方式调限,可參考AipOcrDemo工程),并導(dǎo)入相關(guān)頭文件

1.3 授權(quán)

按照自己的業(yè)務(wù)需求舟陆,引入完畢之后,接下來第一個重點就是需要授權(quán)耻矮,就是在工程里面授權(quán)

1.3.1 第一種方式,復(fù)制應(yīng)用的Api Key(簡稱AK) 和 Secret Key(簡稱SK)秦躯,初始化AipOcrService單例:

// 示例

[[AipOcrService shardService]authWithAK:@"Api Key"andSK:@"Secret Key"];

1.3.2第二種方式,下載對應(yīng)應(yīng)用的授權(quán)文件(默認(rèn)名字為aip.license):

1.在官網(wǎng)中配置應(yīng)用

2.下載對應(yīng)應(yīng)用的授權(quán)文件(默認(rèn)名字為aip.license)

3.將授權(quán)文件添加至XCode工程(配置為資源并拷貝裆装,Target -> Build Phases -> Copy Bundle Resource 中添加該文件)

4.讀取授權(quán)文件原始字節(jié)踱承,NSData格式,初始化AipOcrService單例:

?2.相機接口

2.1 在工程Info.plist中添加NSCameraUsageDescription哨免,相機權(quán)限說明

2.2 調(diào)啟相機

初始化ViewController茎活,其中

通用文字識別:UIViewController* vc = [AipGeneralVC ViewControllerWithDelegate:self]

銀行卡識別UIViewController * vc = [AipCaptureCardVCViewControllerWithCardType:CardTypeBankCardandDelegate:self]

身份證識別

正面:UIViewController * vc = [AipCaptureCardVCViewControllerWithCardType:CardTypeIdCardFontandDelegate:self]

背面:UIViewController * vc = [AipCaptureCardVCViewControllerWithCardType:CardTypeIdCardFontandDelegate:self]

在合適的地方啟動ViewController: 如[selfpresentViewController:vcanimated:YEScompletion:nil]

2.3 該調(diào)用方法將會自動打開相機,用戶拍照琢唾、確認(rèn)载荔,完成識別之后, 使用delegate直接返回識別結(jié)果。

內(nèi)部使用了[AipOcrService shardService]進行數(shù)據(jù)調(diào)用慧耍。

操作步驟:

身份驗證:調(diào)用[[AipOcrService shardService]authWithAK:SK或其他驗證方法身辨;

在需要回調(diào)的類中實現(xiàn)AipOcrDelegate的接口(按需實現(xiàn)即可)∩直蹋可在這些方法中pop出OCR的View,具體參考Demo工程煌珊。

通用文字識別成功:- (void) ocrOnGeneralSuccessful:(id)result

銀行卡識別成功:- (void) ocrOnBankCardSuccessful:(id)result

身份證識別成功:- (void) ocrOnIdCardSuccessful:(id)result

識別失敗:- (void) ocrOnFail:(NSError *)error


3.數(shù)據(jù)接口

這寫接口都是在AipBase.framework 中的泌豆,也就是說要想實現(xiàn)OCR服務(wù)定庵,就必須引用這個AipBase.framework。

該調(diào)用方法傳入需要識別的UIImage,異步識別蔬浙,識別完成之后猪落,回調(diào)返回識別結(jié)果。

主要類為AipOcrService類畴博,使用單例[AipOcrService sharedService]來調(diào)用相關(guān)接口即可笨忌。

操作步驟:

身份驗證:調(diào)用[[AipOcrService shardService]authWithAK:SK或其他驗證方法;

調(diào)用以下相應(yīng)接口

通用文字識別detectTextFromImage

通用文字識別(不帶位置信息)detectTextBasicFromImage

通用文字識別 (含生僻字)detectTextEnhancedFromImage

網(wǎng)圖識別detectWebImageFromImage

身份證正面detectIdCardFrontFromImage

身份證背面detectIdCardBackFromImage

銀行卡detectBankCardFromImage


4:總結(jié)

基本上實現(xiàn)百度的OCR 服務(wù)俱病,是必須要引入AipBase.framework官疲,這里面包含識別一些接口實現(xiàn),AipOcrSdk.framework亮隙,即AipOcr工程包含了相機相關(guān)操作代碼途凫,如開發(fā)者想直接使用,無需引用AipOcrSdk工程溢吻,直接引入AipOcrSdk.framework即可维费。若需要修改相機操作相關(guān)UI,可引入AipOcrSdk工程促王,編輯相關(guān)UI代碼即可犀盟。


??

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市硼砰,隨后出現(xiàn)的幾起案子且蓬,更是在濱河造成了極大的恐慌欣硼,老刑警劉巖题翰,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異诈胜,居然都是意外死亡豹障,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進店門焦匈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來血公,“玉大人,你說我怎么就攤上這事缓熟±勰В” “怎么了?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵够滑,是天一觀的道長垦写。 經(jīng)常有香客問我,道長彰触,這世上最難降的妖魔是什么梯投? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上分蓖,老公的妹妹穿的比我還像新娘尔艇。我一直安慰自己,他們只是感情好么鹤,可當(dāng)我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布终娃。 她就那樣靜靜地躺著,像睡著了一般蒸甜。 火紅的嫁衣襯著肌膚如雪尝抖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天迅皇,我揣著相機與錄音昧辽,去河邊找鬼。 笑死登颓,一個胖子當(dāng)著我的面吹牛搅荞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播框咙,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼咕痛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了喇嘱?” 一聲冷哼從身側(cè)響起茉贡,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎者铜,沒想到半個月后腔丧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡作烟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年愉粤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拿撩。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡衣厘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出压恒,到底是詐尸還是另有隱情影暴,我是刑警寧澤,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布探赫,位于F島的核電站型宙,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏期吓。R本人自食惡果不足惜早歇,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一倾芝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧箭跳,春花似錦晨另、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至屉来,卻和暖如春路翻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背茄靠。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工茂契, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人慨绳。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓掉冶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親脐雪。 傳聞我的和親對象是個殘疾皇子厌小,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,930評論 2 361

推薦閱讀更多精彩內(nèi)容