如何将文本图像分割为基本组件,如线和曲线?

时间:2015-09-11 03:30:51

标签: c# image-processing computer-vision ocr

我在C#中使用OCR Project。我正在考虑将文本图像分割成基本组件,如线条,曲线,循环,并找到它们的方向,以便我可以将它们用于特征提取和识别。

任何人都可以帮我解决这个问题吗?

例如:如果我有文字图片的字母' A'那么它必须分为三个基本组成部分' /',' - '和' \'。

1 个答案:

答案 0 :(得分:0)

有不同的方法可以解决这类问题(数字或字符识别),例如各种尺度上的模板匹配(主要是缩小比例),基于特征的方法,如HOG功能,这是广泛使用的数字和字符识别功能。

现在回答你的问题,有一些方法可以检测图像中的线条和曲线。

最简单的Approch:

如果你有一个阈值图像(即二进制图像),只需应用具有不同方向的线结构元素的图像打开操作,如水平线分割的水平线,垂直线分割的垂直线或对角线检测的对角线,如果您熟悉 MATLAB ,可以使用" strel()"创建不同方向和长度的不同线条结构。功能,只需申请" imopen"使用合适的线长度(根据你的角色大小)进行操作。 你必须做一些打击,并尝试线的长度和方向。

小难道路

但是非常有用的方法是应用Hough变换,而且你可以检测任何类型的线和定义的曲线,但为此你必须做一些努力工作。 以下是一些采用相同方法的论文链接: http://www.cse.unr.edu/~bebis/CS474/Handouts/HoughTransformPaper.pdf http://homepages.inf.ed.ac.uk/rbf/BOOKS/BANDB/LIB/bandb4_3.pdf

更难的方式

使用一些基于特征的技术(例如HOG)尝试使用监督方法,这些技术基于渐变的方向读取它的内容,它可能对您有帮助。

一切顺利