2012-11-15 24 views
2

我正在为我的其中一个类使用OCR程序,并试图在文本中查找用于分类字符的圆形封闭区域。单词已经被扼杀了。例如,在此图像中: http://i.imgur.com/VLHJp.jpgC#在图像中查找绑定区域

我想查找圆O的位置或甚至半圆的E位置。我试图将像素转换为数组,然后循环遍历所有白色的像素,找到封闭的路径,但这不起作用。然而,我可能没有正确实施。其他解决方案?提前致谢。

编辑:

不幸的是我不能用正方体或其他OCR程序,因为我要发展我自己对我的大专班。我已经使用了AForge库来完成许多任务,比如镂空,并且希望在那里使用圆检测或形状检测类,但是这些形状太钝了,无法使用它。

+1

请显示一些源代码...你有什么试过?什么不工作? – Yahia

+0

你有没有试过Tesseract? http://code.google.com/p/tesseract-ocr/ – 2012-11-15 22:00:04

回答

1

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

通过图像中的其他像素(不属于您的边界像素集)进行洪水处理。这些洪水是'封闭的',如果你想要的话,如果它们到达图像的边缘,你可以消除它们。每次洪水应该采取合理数量的像素,因此该算法可以快速消除像素。

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