iOS 自己實(shí)現(xiàn) 名片識(shí)別 四 圖片轉(zhuǎn)文字以及歸類

1. iOS 自己實(shí)現(xiàn) 名片識(shí)別 一 功能分析,模塊劃分

2. iOS 自己實(shí)現(xiàn) 名片識(shí)別 二 相機(jī)模塊制作

3. iOS 自己實(shí)現(xiàn) 名片識(shí)別 三 圖片處理

4. iOS 自己實(shí)現(xiàn) 名片識(shí)別 四 圖片轉(zhuǎn)文字以及歸類

本頁(yè)主題: 圖片轉(zhuǎn)文字以及歸類


先看效果展示


原圖:


原圖

處理后:


result

OCR識(shí)別效果:

量 U
::; 愧睡酣苒 `:| . -
@ 唧涮區(qū) 總 代埋
í
倪禮波經(jīng)理

展廳: 西部家具城南海廳B217號(hào)

電話: 15031600991 13473605996

  / 義-〉15319986681

歸類后的效果:

組織 : 量 U
地址 :  西部家具城南海廳B217號(hào)
姓名 : 倪禮波
職位 : 經(jīng)理
Phone : 15031600991
Phone : 13473605996
Phone : 15319986681
Other :  愧睡酣苒 |
Other : @ 唧涮區(qū) 總 代埋

效果還行,但達(dá)不到商用的目標(biāo)


實(shí)現(xiàn)過(guò)程


1. 接入OCR模塊

這一過(guò)程比較復(fù)雜,網(wǎng)上也都能查到

2. 圖片轉(zhuǎn)文字

- (void)tesseractRecognizeImage:(UIImage *)image compleate:(void (^)(NSString *text))compleate
 {
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
        G8Tesseract *tesseract = [[G8Tesseract alloc] initWithLanguage:@"chi_sim"];
        tesseract.engineMode = G8OCREngineModeTesseractOnly;
        tesseract.image = image;
        [tesseract recognize];
        //執(zhí)行回調(diào)
        compleate(tesseract.recognizedText);
    });
}

3. 文字歸類

這一塊也比較復(fù)雜,我制作了中文的歸類

  1. 去除沒(méi)用的字符

NSArray *array = @[@":",@"-",@""",@"~",@"/",@"」",@";",@"ˉ",@"`",@"'",@"¢",@"±",@"‘",@"_"];

  1. 將字符串按行轉(zhuǎn)換為數(shù)組
  2. 進(jìn)行關(guān)鍵字篩選 : 電話,郵箱,qq,web, 地址

把每一行都進(jìn)行篩選, 篩選成功后刪除該行

  1. 檢查姓名與職位 (需要用到兩張表, 我這里使用了兩個(gè)txt文件代替表)

檢測(cè)job ,如果job有多余,多余的部分可能為姓名,如果多余的部分不是姓名 則為job的一部分

  1. 如果第一行還沒(méi)有被使用,那么假設(shè)第一個(gè)標(biāo)記是組織名稱。
  2. 如果地址還沒(méi)有,檢查地址

//檢查地址的關(guān)鍵字,有兩個(gè)或者兩個(gè)以上關(guān)鍵字則標(biāo)記為地址
@[@"省",@"市",@"區(qū)",@"路",@"大廈",@"號(hào)",@"城",@"室",@"街"];

  1. 根據(jù)正則重新過(guò)濾一遍 web,phone,email,qq
    列一下正則

/** 郵箱 */
- (NSString *)emailRegex
{
    return @"\\w[-\\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\\.)+[A-Za-z]{2,14}";
}

/** 手機(jī) */
- (NSString *)phoneNumRegex
{
    return @"0?(13|14|15|17|18|19)[0-9]{9}"; //國(guó)內(nèi)手機(jī)號(hào)
}

/** 電話 */
- (NSString *)telRegex
{
    return @"[0-9-()()]{7,18}";
}

/** web */
- (NSString *)webRegex
{
    return @"^((https|http|ftp|rtsp|mms)?:\\/\\/)[^\\s]+";
}

/** qq */
- (NSString *)qqRegex
{
    return  @"[1-9]([0-9]{5,11})";
}
  1. 剩余的則標(biāo)記為other

THE END !

由于ocr模塊比較大,需要代碼的小伙伴可以留下聯(lián)系方式,或者直接與我聯(lián)系:QQ 258141764

發(fā)現(xiàn)需要代碼的人還是挺多的,為了方便傳到了百度網(wǎng)盤
鏈接:https://pan.baidu.com/s/17LsXgbe3XuOiv9V4sVTVVQ 密碼:dzk2
需要的請(qǐng)自行下載!

代碼所在位置:


code.png

如果覺得內(nèi)容對(duì)你有所幫助,請(qǐng)幫忙點(diǎn)贊支持,讓更多的人看到

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過(guò)CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫(kù)組件 SD...
    陽(yáng)明AI閱讀 16,211評(píng)論 3 119
  • 每次跟爸媽視頻或者打電話,吃飯了沒(méi)?吃了,每天都吃。最近冷不冷?穿厚點(diǎn)兒。注意休息,一有時(shí)間就休息,知不知道,你跟...
    candice可兒閱讀 155評(píng)論 0 0
  • 橘子小姐相貌不算特別出眾,但是愛笑性格很好,從中學(xué)開始便不缺少異性的青睞,橘子小姐雖然有點(diǎn)戾氣,但是真的算是一個(gè)好...
    我不皺眉閱讀 617評(píng)論 1 0
  • 你所有的眼神中都有我的影子 你所有的話語(yǔ)中都有我的名字 站在你生命之外 傾聽你的溫柔 你的體貼 無(wú)需靠近 我已被愛熱吻
  • 你順利渡過(guò)嬰兒期,這時(shí)你可以主動(dòng)控制自己的一些行為,但父母還是你生命中最重要的角色,這時(shí)你需要修煉一定程度的自主與...
    情系閱讀 303評(píng)論 5 2

友情鏈接更多精彩內(nèi)容