字符切割

原创 2015年11月17日 18:59:56
字符分割
任务是把多行或多字符图像中的每个字符从整个图像中分割出来,成为单个字符。对于字符分割的问题常常不被重视,但是字符的正确分割对字符的识别是至关重要
的。由于字符字体存在着多样性,所以在一般的字符识别系统中,字符识别之前要先对图像进行阈值化,然后再进行行字切分,以分割出一个个具体的二值表示的字
符图像点阵,作为单字符识别的输入数据。由于获得的文本图像不但包含了组成文本的一个个字符,而且包含了字符行间距与字间的空白,甚至还会带有各种标点符
号,这就需要采用一定的处理技术将文本中的一个个字符切分出来,形成单个字的图像阵列,以进行单字识别处理。这就需要两个步骤来完成,行切分和字切分。首
先由行切分得到一行行文本,然后在每行文本中进行列切分得到一个个单独的字符。
1行切分技术
行切分就是要将一行行字符切分出来,形成单行字符文本图像数据。这里我们以含有汉字的图像为例,介绍一下行切分技术。对于输入的二值化汉字图像从上到下逐行扫描并计算每个扫描行的像素,以获取图像的水

投影。我们会发现汉字图像沿行方向的水平投影比较有规律,投影中的每个波峰与图像中的每个文本行相对应,在相邻的两行之间有比较宽的一段投影信息为0,这
是对应了相邻两行之间的空白区域。根据这个规律,对行切分比较容易,可以把整幅的汉字图像在水平方向投影后,直接对汉字图像进行行切分。具体方法为:首先
分析投影图像,找到投影波峰所对应的文本行的位置,从而可以计算出每行的行距;其次对所有行的行距累加求和后,求出文本图像的标准行距,以标准行距对汉字
图像进行行的粗切分;最后在每一个粗切分出的行附近上下扫描,进行细微调整,选取最合适的分割位置。

2
字切分技术
字切分是从切分出的文本图像行中将单个的字符图像切分出来。字切分的正确与否直接影响识别结果,是字符识别系统中比较难的部分。我们还是以单个的汉字切分为例来说明。

以借助汉字图像行切分的思想,来确定字切分的主要方法:利用字与字之间的空白间隙在图像行垂直投影上形成的空白间隔将单个的字符图像切分出来。事实上,分
析图像行的垂直投影可以发现,垂直投影上的空白间隔部分不仅没有行与行之间的空白间隔部分宽,而且分布也不均匀。是因为在汉字文本中一般汉字间距远不如行
间距明显,同时汉字中有相当数量汉字是左、右结构或左、中、右结构的,这些汉字图像的垂直投影在一个单字的内部也会出现空白间隙,使得文本汉字的字切分比
行切分困难。为了解决这个问题,可以利用汉字间的间隔一般大于汉字内间隔这一特点先进行汉字的粗切分,再根据汉字基本是个方块图形这一事实进行细切分。具
体实现为:根据汉字的行切分,可以获得汉字的高度信息,从而可以估计出汉字的基本宽度;对粗切分出的每个汉字,以此宽度信息进行衡量,以粗切分的起始位置
为出发点,向左右两方向进行搜索,对起始位置进行细微的调整,从而使得字的切分更准确。这种方法不仅可以保证单个汉字的内部结构不被分离,而且还避免了切
除汉字的边缘,其切分结果基本提取出了完整的汉字,消除了笔划的误切除。

不规整的验证码图片切割字符

package com.eduask.luck.validate; import java.awt.Color; import java.awt.image.BufferedImage; i...
  • one_isi_all
  • one_isi_all
  • 2015年09月22日 17:54
  • 880

OCR字符切割

字符分割是OCR中相当重要的环节,  直接关系到最后的识别准确率. 最近一直在做车牌检测,  用颜色与edge定位中一直没有办法避免某些特殊情况的干扰,   且样本来源未知,  没办法去设定一个相对较...
  • traumland
  • traumland
  • 2016年06月02日 00:10
  • 2810

字符定位与字符分割

Abstract:字符串识别最重要的是字符串定位以及字符串分割。例如做车牌识别,车牌字符定位和分割是最难的部分。对于一张字符串的图像,首先必须要定位出字符串的边界,然后分别对字符串进行单个切割,单个分...
  • hlx371240
  • hlx371240
  • 2015年05月07日 08:46
  • 4649

Shell当中的字符串切割

我们来看一下以下这几种字符串切割的方式。1.使用 # 和 ## 来进行截取。val=“hello world!”echo ${val#*o} echo ${val##*o}进行字符串截取, 第一个是...
  • qq_26768741
  • qq_26768741
  • 2017年03月27日 18:26
  • 527

python libsvm 图像分割 字符识别

Python 用的是2.7版本 #coding=utf-8 #!/usr/bin/env python import Image import cv2 from cv2 import cv i...
  • letunihao
  • letunihao
  • 2014年12月12日 14:51
  • 3835

将字符串按字符个数切割成数组

str_split()函数 定义和用法 str_split() 函数把字符串分割到数组中。 语法 str_split(string,length) 参数 描述 s...
  • czh0423
  • czh0423
  • 2015年06月10日 11:16
  • 1163

opencv字符轮廓分割

先看效果
  • yangbingzhou
  • yangbingzhou
  • 2014年04月04日 14:05
  • 3673

JS对于字符串的切割截取

js处理字符串
  • u013499652
  • u013499652
  • 2017年05月15日 17:25
  • 1582

Xml解析方法以及String类型字符串利用子字符串对其切割方法

今天回到了windows后台服务,使用编程语言为C#,主要为两个方面的方法: 1、Xml解析方法 之前根据网上的提示,利用ReadSerializerList方法对Xml进行反序列化,确实自己利用这个...
  • u013057032
  • u013057032
  • 2017年11月17日 13:51
  • 58

图像验证码识别(七)——字符分割

前面经过各种去除噪点、干扰线,验证码图片现在已经只有两个部分,如果pixel为白就是背景,如果pixel为黑就为字符。正如前面流畅所提到的一样,为了字符的识别,这里需要将图片上的字符一个一个“扣”下来...
  • ysc6688
  • ysc6688
  • 2016年03月01日 14:37
  • 3176
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字符切割
举报原因:
原因补充:

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