halcon学习拓展系列—笔画宽度分割算子swt_threshold

SWT(Stroke Width Transform)算法由Epshtein等在2010年提出,指示牌文字,斑马线,指引线等都有固定的宽度,分割时只用颜色和灰度会受到背景和前景颜色和灰度干扰,再加上笔画宽度特征,就能更好的对这些固定宽度对象进行分割

经过碑文,道路指示牌,道路指引线的测试,发现swt对简易连通域的分割效果较好,对复杂连通域的分割效果较差,我觉得根本原因是swt时基于Contour上每个点在法向量方向上进行边缘点抓取,如果图像文字分辨率不高,Contour就不够准确,再加上汉字笔画之间有连通,导致笔画宽度会比真实的笔画宽两三倍才能有效抓取

虽然swt算法不能认为是一个优秀的分割算法,但是对于简易连通区域效果还是很好的,希望大家看到能够有所收获,并能提出宝贵的意见

 

一、基础知识

halcon学习拓展系列—笔画宽度分割算子swt_threshold_第1张图片

1、首先计算图像的边缘,halcon用gen_contour_region_xld算子求外轮廓,内轮廓

2、然后根据边缘的方向信息计算图像的SWT ,根据笔画宽度信息将像素聚集成连通域

3、利用形态学处理SWT区域,使其Region闭合,并根据灰度信息去除非文字区域

4、利用几何推理如连通域的高宽比,连通域笔画的方差,均值,中值等来过滤连通域,将连通域聚集成文本行,最后将文本行分割成一个个词。(该步骤未实现)

流程的核心为SWT。

 

你可能感兴趣的:(halcon学习)