OCR身份证识别简单算法流程

做OCR身份证识别的调研,正好整理一下从基础的图像处理角度的算法流程。

OCR简介

  • 光学字符识别 Optical Character Recognition(OCR)
  • 其目标是对图像中的字符进行分析识别,将其转换为文本格式的字符序列。
  • 利用模式识别和数字图像处理技术,解决文字输入问题。

按输入方式分类

  • 印刷体文字
  • 手写体文字(由扫描仪输入/由手写板输入)

按识别字符集分类

  • 英文,中文,日文,韩文等
  • 中文,常用4000字,各种字体,相似字不易区分

面向应用的OCR

  • 牌照,票据,文稿,名片,身份证,驾驶执照,汽车制造业。

身份证识别

识别身份证图片中的个人信息和数字编号

一个典型的身份证识别算法流程图如下:

OCR身份证识别简单算法流程_第1张图片

图像预处理

  • 降噪
    滤波、光照处理
  • 增强(可选)
    灰度拉伸
  • 二值化
    由灰度图像变成二值图像
  • 倾斜校正
    Hough变换、投影法

图像分割

  • 行分割

    身份证图像字符信息分布规则,每行有一定间隙;采用水平投影法进行图像分割
    OCR身份证识别简单算法流程_第2张图片

  • 字符分割

    垂直投影
    OCR身份证识别简单算法流程_第3张图片

字符识别

  • 模板匹配法

    对每个字符建立一个标准模板,进行图形匹配、笔画匹配、几何特征匹配。
    特点:实现简单,图像质量要求高,计算速度慢,相似字符识别率低

  • 人工神经网络字符识别算法

    artificial neural network,简称神经网络(neural network),是一种模仿生物神经网络的结构和功能的数学模型或计算模型。

识别结果处理

对各文字识别结果进行后处理纠错

- 身份证号码验证

①1-2 省级行政区代码
②3-4 地级行政区划分代码
③5-6 县区行政区分代码
④7-14 出生年月日
⑤15-17 顺序码,同一地区同年同月同日出生人的编号,奇数是男性,偶数是女性
⑥18 校验码,如果是0-9则用0-9表示,如果是10则用X(罗马数字10)表示

- 有效期验证

5年,10年,20年,长期

身份证识别软件

  • 云脉
  • 文通
  • Abbyy
  • ……

识别效果和照片清晰度、 倾斜度、背景、光照、对比度等相关性较大。

你可能感兴趣的:(计算机视觉)