SWT

strock width transform,全称笔画宽度变换,是一种局部的图像算子用于提取字符(letter)的笔画宽度作为图像特征。算法步骤如下:
这里写图片描述
分成三个部分:
- 用canny算子计算梯度及方向
- SWT提取笔画宽度得到字符候选区域,使用形状和纹理的先验知识过滤掉误检的候选
- 将字符候选区聚合成单词(word)/文本行(text line)


SWT

在使用swt算子后得到和输入图像相同尺寸的map,值是相应像素对应的笔画宽度。
首先会将所有像素的笔画宽度设置为无穷大.如图,x是笔画边缘上的点,沿着与x的梯度方向dx 大致相反的方向dy,(|dy-(-dx)| <=pi/6)找到笔画另一侧边缘的点y,这样笔画宽度就是|x-y|。x,y之间构成了一条路径(ray),如果笔画宽度小于路径上像素的当前值的话,更新当前值。如果y没有找到那么这条路径就会被废弃。
这里写图片描述
第二次扫描,计算路径上的所有笔画宽度的中值,笔画宽度大于中值的设置为中值。这是针对拐角的情况,这里![这里写图片描述
图中的红点处SW应该是横向和竖向宽度的较小值w,但是按照上面步骤会是|x-y|和|p-q|的较小值,但是第二次扫描后取x~y, p~q路径上中值,红点的SW值就接近w了。

连通域(字符候选区域)合成

在得到SW的map后进行连通域分析,得到字符候选区域,传统的连通域合成都是像素周围4连接或者8连接的像素都是同一值则是同一连通域,而这里改变了这一条件,中心像素和周围像素SW(笔画宽度)比不能超过3.0.

过滤

这里用到的先验知识是纹理方面的,包括字符区域的SW方差,连通域宽高比,连通域的直径等等

聚合文本行

将字符候选聚合成text line,这个地方没有仔细看之后再补充。

参考文献
[1] https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/1509.pdf
[2] https://blog.csdn.net/linda_lindaaaa/article/details/45691021
[3] 黄治虎. “基于改进笔画宽度检测的图像文本定位算法”. Computer Science, 2013

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值