我在C#中使用OCR Project。我正在考虑将文本图像分割成基本组件,如线条,曲线,循环,并找到它们的方向,以便我可以将它们用于特征提取和识别。
任何人都可以帮我解决这个问题吗?
例如:如果我有文字图片的字母' A'那么它必须分为三个基本组成部分' /',' - '和' \'。
答案 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)尝试使用监督方法,这些技术基于渐变的方向读取它的内容,它可能对您有帮助。
一切顺利