OCR字符切割

原创 2016年06月02日 00:10:05

字符分割是OCR中相当重要的环节,  直接关系到最后的识别准确率.


最近一直在做车牌检测,  用颜色与edge定位中一直没有办法避免某些特殊情况的干扰,  

且样本来源未知,  没办法去设定一个相对较优的参数. (绝大部分时间用在这了=.=!)

用机器学习? 这方面我还不怎么懂而且也没有好的样本去训练, 准确率肯定还不如老方法.  

有点奇怪为什么那些论文对算法本身局限的解决并不谈及


有一种用先验的参数来分割字符的,  比如说先尺寸的归一化,  

利用每个字符的宽度间距是固定的这一特性来进行分割.


还有一种是利用垂直投影,  类似下面

图片来源:A Method of Multi-License Plate Location in Road Bayonet Image


当然还看到有用霍夫变换的,  用于字符倾斜矫正就不提了,  下面这篇文章利用hough变换进行分割

A New Algorithm for Character Segmentation of License Plate


更多的字符分割方法综述可以参看下面几篇文章,  点击可看原文, 多看看说不定会有什么启发

A SURVEY OF METHODS AND STRATEGIES IN CHARACTER SEGMENTATION

FEATURE EXTRACTION METHODS FOR CHARACTERRECOGNITION | A SURVEY

SEGMENTATION OF TOUCHING CHARACTERS IN PRINTEDDOCUMENT RECOGNITION 

Cursive Word Recognition: Methods and Strategies

An Overview of Character Recognition Focused on Off-Line Handwriting


我比较在意的部分是,  对于尺寸未知,  有噪声干扰且字符粘连的情况怎么解决?

推荐一篇很有价值的的文献:Text-based CAPTCHA Strengths and Weaknesses

还有一篇自然场景下的字符识别 Reading Digits in Natural Images with Unsupervised Feature Learning

下面都是第一篇综述的字符切割部分
首先它归纳了三大类字符分割方法, 他们之间可以互相结合
1.经典方法,  即把图像进行切割,  把可能的字符切割出来
2.基于识别的分割方法,  即搜索待识别的图像以找出可能的字符
3.将整个单词(word)作为整体来识别

关于切割的方法:

1.固定间距切割




2. 垂直投影,  相连的情况



3. Connected Component

  1.  Bounding Box (opencv中可以用boundingRect函数)
  2.  Splitting of Connected Components(often work as a follow-on to bounding box)
  3.  Landmarks(貌似不太靠谱)

关于字符分割的第一大类方法,  看了几天资料,  一般用的就是上面三种(如果有别的我应该有印象)

看大家识别验证码也是用的上述三种,  当然还有更高级的,  不用切割直接用CNN识别,  网上说很火很有效


关于切割前的预处理可能就要具体看应用了吧.

看到有用中值滤波去噪点的,  有用直方图均衡化来增强前景的.


也有用腐蚀去噪的,  多次腐蚀然后多次膨胀,  每次腐蚀、膨胀一个像素,  当干扰被腐蚀去除, 且在接下来的膨胀中

不再出现时说明干扰被去除(此文中所提到的开运算应该不是先腐蚀紧接着膨胀,  印象里多次的开闭运算是和进行一次一样的)

注意这个仅对干扰比待识别的字符小(细或大小不相近)时有用


相较之下 MRF aka Gibbs algorithm更有效(Text-based CAPTCHA中提到的,  我还没有研究过)


我想知道复杂背景比如不规律的网格怎么去除的?  暂时还没有找到方法


有一个方法要提一下,  针对车牌检测

         A License Plate-Recognition Algorithm for Intelligent Transportation System Applications

中提到用两个同心的滑窗,  判断两个M的比值是否大于给定数值


where M is the statistical measurement (mean value or standard deviation)



投影法切割字符http://blog.csdn.net/traumland/article/details/51586614

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

字符分割算法研究

字符分割 定义:以字符串的形式分割字符,达到将验证码分割的效果。从定位得到的车牌图像中分离出单个字符(包括汉字、字母和数字等)的图像,以便于字符分割。 初步了解:行切分、字切分 参考范例:车牌识...

OCR字符切割实例

我们来看个字符分割的实例吧 如图我们能看到字符与线粘连 text-based captcha推荐的方法: 1. 水平或垂直投影的直方图分析  对于细小直线  J. Yan and A.S.E. A...

OpenCV实现车牌识别,OCR分割,ANN神经网络

主要步骤: 准备车牌单个字符图像作为神经网络分类器的训练数据,越多越好。当然需要对每幅图像提取特征,这里使用的是水平和垂直累计直方图和缩小后的图像信息。 获取车牌图像,这里的车牌图像已经完成抠图,...

EasyPR--开发详解(8)字符分割

大家好,好久不见了。   一转眼距离上一篇博客已经是4个月前的事了。要问博主这段时间去干了什么,我只能说:我去“外面看了看”。  图1 我想去看看       在外面跟几家创业公司谈了谈,交流了一些大...

【OpenCV学习笔记】【教程翻译】五 (车牌识别之OCR分割)

车牌识别: 车牌识别的第二步主要是提取出车牌中的字符。对于每个被检测出的车牌,我们对车牌进行分割获取每个字符,然后用神经网络机器学习算法实现字符的识别。在这个过程中,我们也可以学习到如何评估一个分类算...

OpenCV+OCR 图像处理字符识别原理及代码

需配置好OpenCV和OCR环境下运行 1、OpenCV简介 OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。 Ope...

ocr识别中的图像分割方法小结

ocr识别中的图像分割方法小结 Email:whowhoha@outlook.com       ocr 字符图像的特点是:背景复杂,存在如底纹、水印、底线、框线、加盖印章干扰叠加 ,同时...

Halcon中使用OCR时字符的分割以及字符粘连的处理方法

字符的分割是指在原图中将字符分割为单个的字符区域。这样,这些单个的字符才能被当作字符样本来训练分类器。因此,样本字符分割的好坏很大程度上影响mlp分类器的分类效果。

tesseract_ocr 合并字库 字符识别基础及训练字库、

转载自:http://blog.csdn.net/why200981317/article/details/48265621 首先体验一下tesseract的强大功能,先安装 tes...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)