2

我正在为我的一个课程开发一个 OCR 程序,并且我正在尝试在文本中找到圆形封闭区域来对字符进行分类。单词已经被骨架化了。例如,在这张图片中:http: //i.imgur.com/VLHJp.jpg

我想在 E 中找到圆形 O 甚至半圆的位置。我尝试将像素转换为数组,然后遍历所有白色像素,找到闭合路径,但这不起作用. 但是,我可能没有正确实现这一点。还有其他解决方案吗?提前致谢。

编辑:

不幸的是,我不能使用 Tesseract 或其他 OCR 程序,因为我必须为我的大学课程开发自己的程序。我使用 AForge 库完成了许多任务,例如骨架化,并想在那里使用圆形检测或形状检测类,但这些形状太钝了,无法使用。

4

1 回答 1

1

查找封闭区域的方法之一是使用洪水填充算法。假设图像边缘的一个像素(例如 0,0)不能在一个封闭的区域中从那里开始并溢出。然后您可以消除该洪水中的所有像素。

处理图像中的其他像素(不属于您的一组边界像素)并进行泛洪。这些洪水是“封闭的”,如果您愿意,如果它们到达图像的边缘,您可以消除它们。每次泛洪都应采用合理数量的像素,因此该算法可以很快消除像素。

在你的情况下,我建议你需要设置一个最小区域(像素数)来排除噪音。

于 2012-11-15T22:20:49.097 回答