繁体   English   中英

OpenCV:边缘检测图像中的字母和单词检测

[英]OpenCV: Letters and words detection from edge detection image

我目前正在处理文本识别。 这是带有边缘检测的二值化图像的一部分(使用Canny):

编辑:我发布到图像的链接。 我没有10个代表点,因此无法发布图片。

编辑2:和这是阈值后的同一块。 老实说,我不知道哪种方法更好。

[ 2

问题保持不变:

  1. 我应该如何检测某些字母? 我需要确定每个字母然后每个单词的位置。

  2. 某些字母被“打开”是否有问题? 我的意思是它们不是封闭区域。

  3. 如果我使用cv::matchtemplate ,是否意味着我需要每个字母24个模板,每个数字10个模板? 然后遍历我的图像以确定最佳相关性?

  4. 如果它们所在的字母和正方形均为1像素宽,我应该执行哪些过滤器/操作来关闭打开的字母? 我尝试了扩张和腐蚀的各种组合-没有效果。

问题是“如何使用Open CV进行OCR?” 答案是,这是一个复杂的过程,非常困难。

但是有一些提示。 首先,很难检测到所概述的字母。 大多数工具都是为填充字母而设计的。 但是,如果您使用一定的大小阈值填充所有循环,则该图像看起来好像只有一个非字母干扰项。 您可以摆脱非字母行,因为它们是一个巨大的连接对象。

一旦您填写了信件,就可以将它们简化。

在细节为一像素宽的图像上,不能非常明智地使用形态学操作,例如打开和关闭。 您可以对图像进行操作,但是如果所有特征均为一个像素,则在细节和噪点之间基本上没有区别。 但是,一旦您填写字母,该问题就消失了。

但这并没有告诉您如何做,只是给出了一些指示。

就像马尔科姆(Marcolm)先前的回答中提到的那样,OCR在填充字母上会更好

1使用第二种方法,但取相反的结果,而不是所显示的结果。 2运行连接的组件标签3每个组件都可以运行OCR算法

为了丢弃异常值,我将尝试使用检测到的字母之间的空间关系。 他们出售的产品在其旁边水平或垂直都有其他字母。

祝好运

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM