iOS 自己实现 名片识别 四 图片转文字以及归类

1. iOS 自己实现 名片识别 一 功能分析,模块划分

2. iOS 自己实现 名片识别 二 相机模块制作

3. iOS 自己实现 名片识别 三 图片处理

4. iOS 自己实现 名片识别 四 图片转文字以及归类

本页主题: 图片转文字以及归类


先看效果展示


原图:


原图

处理后:


result

OCR识别效果:

量 U
::; 愧睡酣苒 `:| . -
@ 唧涮区 总 代埋
í
倪礼波经理

展厅: 西部家具城南海厅B217号

电话: 15031600991 13473605996

  / 义-〉15319986681

归类后的效果:

组织 : 量 U
地址 :  西部家具城南海厅B217号
姓名 : 倪礼波
职位 : 经理
Phone : 15031600991
Phone : 13473605996
Phone : 15319986681
Other :  愧睡酣苒 |
Other : @ 唧涮区 总 代埋

效果还行,但达不到商用的目标


实现过程


1. 接入OCR模块

这一过程比较复杂,网上也都能查到

2. 图片转文字

- (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];
        //执行回调
        compleate(tesseract.recognizedText);
    });
}

3. 文字归类

这一块也比较复杂,我制作了中文的归类

  1. 去除没用的字符

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

  1. 将字符串按行转换为数组
  2. 进行关键字筛选 : 电话,邮箱,qq,web, 地址

把每一行都进行筛选, 筛选成功后删除该行

  1. 检查姓名与职位 (需要用到两张表, 我这里使用了两个txt文件代替表)

检测job ,如果job有多余,多余的部分可能为姓名,如果多余的部分不是姓名 则为job的一部分

  1. 如果第一行还没有被使用,那么假设第一个标记是组织名称。
  2. 如果地址还没有,检查地址

//检查地址的关键字,有两个或者两个以上关键字则标记为地址
@[@"省",@"市",@"区",@"路",@"大厦",@"号",@"城",@"室",@"街"];

  1. 根据正则重新过滤一遍 web,phone,email,qq
    列一下正则

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

/** 手机 */
- (NSString *)phoneNumRegex
{
    return @"0?(13|14|15|17|18|19)[0-9]{9}"; //国内手机号
}

/** 电话 */
- (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. 剩余的则标记为other

THE END !

由于ocr模块比较大,需要代码的小伙伴可以留下联系方式,或者直接与我联系:QQ 258141764

发现需要代码的人还是挺多的,为了方便传到了百度网盘
链接:https://pan.baidu.com/s/17LsXgbe3XuOiv9V4sVTVVQ 密码:dzk2
需要的请自行下载!

代码所在位置:


code.png

如果觉得内容对你有所帮助,请帮忙点赞支持,让更多的人看到

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,019评论 3 119
  • 每次跟爸妈视频或者打电话,吃饭了没?吃了,每天都吃。最近冷不冷?穿厚点儿。注意休息,一有时间就休息,知不知道,你跟...
    candice可儿阅读 132评论 0 0
  • 橘子小姐相貌不算特别出众,但是爱笑性格很好,从中学开始便不缺少异性的青睐,橘子小姐虽然有点戾气,但是真的算是一个好...
    我不皱眉阅读 567评论 1 0
  • 你所有的眼神中都有我的影子 你所有的话语中都有我的名字 站在你生命之外 倾听你的温柔 你的体贴 无需靠近 我已被爱热吻
  • 你顺利渡过婴儿期,这时你可以主动控制自己的一些行为,但父母还是你生命中最重要的角色,这时你需要修炼一定程度的自主与...
    情系一念阅读 262评论 5 2