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

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

编辑:我张贴链接到图像。 我没有10个代表点,所以我无法发布图片。

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

[ 2

问题依然如此:

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

  • 一些字母是“打开”的问题吗? 我的意思是说他们不是封闭的地区。

  • 如果我使用cv::matchtemplate ,是否意味着每个字母需要24个模板,每个数字需要10个模板? 然后循环播放我的图像以确定最佳关联?

  • 如果它们所在的字母和正方形都是1像素宽,我应该怎么做过滤器/操作来关闭打开的字母? 我尝试过各种扩张和侵蚀的组合 - 没有任何效果。


  • 问题在于“我如何使用Open CV进行OCR?” 答案是这是一个涉及的过程,并且相当困难。

    但有些指针。 首先,很难发现概述的字母。 大多数工具都是为实填字母而设计的。 但是,如果您使用特定大小阈值填充所有循环,则该图像看起来好像只有一个非字母分心符。 您可以摆脱非字母行,因为它们是一个巨大的连接对象。

    一旦你填满了这些字母,它们就可以被镂空了。

    对于细节为一个像素宽的图像,您不能使用像打开和关闭这样的形态学操作。 您可以通过操作来放置图像,但是如果所有特征都是一个像素,则基本上细节和噪点之间没有区别。 但是,一旦你填写了信件,这个问题就会消失。

    这不是以任何方式告诉你如何去做,只是给出一些指示。


    正如malcolm OCR在之前的回答中所提到的,对于填充字母可以更好地工作,因此您可以执行以下操作

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

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

    祝你好运

    链接地址: http://www.djcxy.com/p/23699.html

    上一篇: OpenCV: Letters and words detection from edge detection image

    下一篇: Improving Rock Extraction Analysis in OpenCV