首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >字符识别(OCR算法)

字符识别(OCR算法)
EN

Stack Overflow用户
提问于 2013-03-03 16:58:30
回答 4查看 63.3K关注 0票数 37

我正在做一个项目,在这个项目中我必须开发OCR算法(我必须从图像中读取文本,然后将它转换成不同的语言),.So,我的第一个任务是从图像中获取文本。

完成第一项任务的步骤。

  1. 从给定的源加载任何图像格式(bmp、jpg、png)。然后将图像转换为灰度,并使用阈值(Otsu算法)对其进行二值化。//已完成(如何从输出图像中去除噪声??)

结果

  1. 检测像分辨率和反演这样的图像特征。这样我们才能最终把它转换成一个直线型图像来进行进一步的处理。(完成了图像的旋转编码,但无法检测图像的角度,因此仍在进行角度检测)
  2. 线路检测和移除。这一步骤是为了改进页面布局分析,提高下划线文本的识别质量,检测表格等(最终决定完成该部分)。
  3. 页面布局分析。在这个步骤中,我试图识别图像中的文本区域。因此,只有该部分被用于识别,而该区域的其他部分则被排除在外。
  4. 检测文本行和单词。在这里,我们还需要照顾不同的字体大小和文字之间的小空间。
  5. 字符识别。这是OCR的主要算法,每个字符的图像必须转换为适当的字符代码。有时,该算法为不确定图像生成多个字符编码。例如,识别"I“字符的图像可以生成"I”、“AC.26”"1“、"l”代码,最后的字符代码将在以后选择。
  6. 将结果保存到选定的输出格式,例如,可搜索的PDF、DOC、RTF、TXT。保存原始页面布局非常重要:列、字体、颜色、图片、背景等等。

所以我需要帮助,在第6部分,我已经完成了行检测部分(从包含n行的段落中获取n个图像),但在下一部分得到单词和字符recognisation.If,您知道与OCR和字符识别部分相关的良好链接,然后请在这里发布。

对于字符识别,我正在考虑使用http://asprise.com/product/ocr/index.php?lang=java (Java)

EN

回答 4

Stack Overflow用户

发布于 2013-06-14 02:58:33

若要检测旋转角,请使用Hough变换

对于降噪,将没有邻接(北、东、南或西)的像素替换为相同颜色(使用容忍阈值的相似颜色)和邻居的平均值。

布局检测搜索垂直空白。沿着垂直的缝隙切入。对于每个切片,现在搜索水平间隙,然后切片。如果切片的高度相同(类似),则处于直线级。否则,重复垂直/水平切片,直到您只剩下一行。最后一步是垂直切片,给出单个字符(在某些情况下是连接字符)。长而窄或短而宽的切片都是线条。

将字符切片与字符库进行比较。如果性能不是主要考虑的问题,请尝试在不同的字库中查找字符,直到可以识别所使用的字体为止。然后继续使用该字体进行字符识别,

在原始图像中,用背景颜色替换每个字符,而背景色是通过对字符的每个像素不属于字符的一部分的插值像素来确定的。这将为您提供背景图像(如果有的话)。

票数 18
EN

Stack Overflow用户

发布于 2014-06-15 15:35:01

您应该使用代替Otsu方法。我认为这将是有帮助的http://www.csse.uwa.edu.au/~shafait/papers/Shafait-efficient-binarization-SPIE08.pdf,这种方法将自动消除噪音。

票数 5
EN

Stack Overflow用户

发布于 2013-06-14 03:05:44

您可能需要查看特塞尔中的字符识别部分。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15188104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档