字符识别(OCR算法)[关闭]

2024-01-25

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

完成第一个任务的步骤。

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

Results

  1. 检测图像特征,如分辨率和反转。这样我们最终就可以将其转换为拉直的图像以进行进一步的处理。 (完成了图像旋转的代码,但无法检测我们必须旋转图像的图像角度,因此仍在研究角度检测部分)

  2. 线路检测和删除。需要此步骤来改进页面布局分析、对下划线文本实现更好的识别质量、检测表格等(决定在末尾完成该部分)

  3. 页面布局分析。在此步骤中,我尝试识别图像中存在的文本区域。因此,只有该部分用于识别,而该区域的其余部分被忽略。

  4. 检测文本行和单词。这里我们还需要注意不同的字体大小和单词之间的小间距。

  5. 字符识别。这是OCR的主要算法;每个字符的图像必须转换为适当的字符代码。有时,该算法会为不确定的图像生成多个字符代码。例如,识别“I”字符的图像可以产生“I”、“|”。 “1”、“l”代码和最终的字符代码将在稍后选择。

  6. 将结果保存为选定的输出格式,例如可搜索的 PDF、DOC、RTF、TXT。保存原始页面布局很重要:栏目、字体、颜色、图片、背景等。

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

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


检测旋转角度, 使用霍夫变换 http://en.wikipedia.org/wiki/Hough_transform.

For 降噪,将任何没有邻居(北、东、南或西)的像素替换为相同颜色(相似的颜色,使用容差阈值),以及邻居的平均值。

搜索垂直白色间隙布局检测。沿着垂直间隙切片。对于每个切片,现在搜索水平间隙并切片。如果切片具有相同(相似)的高度,则处于线水平。否则重复垂直/水平切片,直到只剩下线条。最后一步再次是垂直切片,为您提供单个字符(或在某些情况下为连字)。长而窄或短而宽的切片都是线。

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

在原始图像中,将每个字符替换为背景颜色,背景颜色是通过为字符的每个像素插入不属于字符的像素来确定的。这给你背景图,如果有的话。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字符识别(OCR算法)[关闭] 的相关文章

  • Tesseract 虚假空间识别

    我正在使用 tesseract 来识别序列号 这是可以接受的 存在常见问题 例如错误识别零和 O 6 和 5 或 M 和 H 除此之外 这个超正方体还向识别的单词添加了空格 而图像中没有空格 下图被识别为 HI 3H 这张图片的结果是 FB
  • 训练 Tesseract 特定单词 - 可能吗?

    我想使用 Tesseract 从文档中提取大约 10 20 个关键字 该文档将包含所有英文字符 单词 我感兴趣的是 年龄 23 之类的东西 这里 Age 是我感兴趣的关键字 也想提取 23 它的值 我想到的第一个方法是将整个页面提取为文本
  • 使用 PHP 识别数字

    我正在尝试从图片中提取一些范围从 1 到 99 的数字 我已经尝试了几种使用 PHP 的 OCR 方法 但最终我的脚本会失败 因为数字偶尔会向左或向右旋转 5 这使得图片无法识别 我现在已经安装了 Ocropushttp code goog
  • 如何将 Tesseract OCR 库集成到 C++ 程序中

    我正在尝试使用Tesseract OCR 库 https code google com p tesseract ocr 为了创建一个程序来读取电梯楼层号码的图片 我还没有找到任何关于如何将 Tesseract 库包含到 C 文件中的示例
  • 识别图像中的 visio 形状

    在提供 SCADA 解决方案时 我们经常会获得结构化控制图 如下所示的 visio 类似流程图 中指定的最终用户规范 这些规范通常以 PDF 格式或图像形式提交 为了在 C 中访问这些 我希望使用 OpenCV 库之一 我正在研究模板识别
  • 通过 pytesseract 和 PIL 提高文本识别的准确性

    所以我试图从图像中提取文本 由于图像的质量和尺寸不好 因此给出的结果不准确 我尝试了一些 PIL 的增强功能和其他功能 但这只会恶化图像质量 有人可以建议对图像进行一些增强以获得更好的结果 一些图像示例 在提供的图像示例中 文本的视觉质量非
  • Pytesseract 对于实时 OCR 来说非常慢,有什么方法可以优化我的代码吗?

    我正在尝试使用 python 创建实时 OCRmss and pytesseract 到目前为止 我已经能够捕获整个屏幕 其 FPS 稳定为 30 如果我想捕获大约 500x500 的较小区域 我已经能够获得 100 FPS 然而 一旦我包
  • 使用贝叶斯类进行数字识别

    我需要编写一个仅用于数字的 OCR 程序 我将使用 MNIST 数据集 问题是我不知道从哪里开始 有很多论文并没有真正解释算法 我对模式识别真的了解不多 所以我有几个问题 Q1 在哪里可以找到算法 或教程 Q2 如何对数字进行分类 我不需要
  • unicharset_extractor:找不到命令

    我想使用超正方体创建新的列车数据 因此 请按照以下网站中提到的步骤进行操作 https blog cedric ws how to train tesseract 301 https blog cedric ws how to train
  • 使用 OpenCV 对 Tesseract OCR 进行图像预处理

    我正在尝试开发一个应用程序 它使用 Tesseract 来识别手机摄像头拍摄的文档中的文本 我使用 OpenCV 来预处理图像以实现更好的识别 应用高斯模糊和阈值方法进行二值化 但结果非常糟糕 Here https s6 postimg c
  • 让 tesseract 只识别数字

    我正在尝试改进我制作的 OCR 程序来读取我正在使用的某个图像的布局 现在 我希望我的 OCR 程序只能识别数字 0 9 我尝试遵循问题的解决方案 限制 tesseract 正在寻找的字符 https stackoverflow com q
  • pytesseract 错误 Windows 错误 [错误 2]

    您好 我正在尝试使用 python 库 pytesseract 从图像中提取文本 请查找代码 from PIL import Image from pytesseract import image to string print image
  • OCR 解析获取复选框或单选按钮值

    I need to parse OCR image file and get all texts and checkbox values How to get Checkbox or Radio Button value from OCR
  • 裁剪图像后,如何找到新的边界框坐标?

    这是我得到的收据图像 我使用 matplotlib 绘制了它 x1 y1 x2 y2 x3 y3 x4 y4 bbox coords 650 850 1040 850 1040 930 650 930 image cv2 imread IM
  • 收据褪色部分可以恢复吗?

    我有一些包含一些扫描收据的文件 我需要使用 OCR 从中提取文本 由于收据上打印的文字在一段时间后会褪色 导致收据上的某些文字不清晰 影响OCR结果 褪色单词的一些示例 有什么方法可以恢复褪色的部分 以便提高 OCR 结果吗 我在OpenC
  • 用Python识别图像

    我对 OCR 识别和 Python 都有点陌生 我想要实现的是从 Python 脚本运行 Tesseract 以 识别 tif 中的某些特定数字 我以为我可以为 Tesseract 做一些培训 但我在 Google 和 SO 上没有找到任何
  • 提高 pytesseract 从图像中正确识别文本的能力

    我正在尝试使用读取验证码pytesseract模块 大多数时候它都能提供准确的文本 但并非总是如此 这是读取图像 操作图像以及从图像中提取文本的代码 import cv2 import numpy as np import pytesser
  • Tess4j - Pdf 到 Tiff 到 tesseract - “警告:分辨率 0 dpi 无效。使用 70 代替。”

    我正在使用 tess4j net sourceforge tess4j tess4j 4 4 0 并尝试对 pdf 文件进行 OCR 因此 据我了解 我必须首先将 pdf 转换为 tiff 或 png 其中有任何建议吗 我这样做是这样的 t
  • Tess4j 问题 java.lang.UnsatisfiedLinkError

    我正在尝试解决 Tess4J 安装问题 1 我在 WEB INF win32 x86 中创建了一个文件夹2 我把 libtesseract302 dll 和 liblept168 dll 放在那里 然后将其添加到 java 构建路径中的源
  • Tesseract OCR - 手写字体

    我正在尝试使用Tesseract OCR http code google com p tesseract ocr 检测其中包含纯文本的图像文本 但这些文本具有名为的手写字体Journal Example 结果不是最好的 千里马 尺寸 宽

随机推荐