Tesseract 虚假空间识别

2024-01-09

我正在使用 tesseract 来识别序列号。这是可以接受的,存在常见问题,例如错误识别零和“O”、6 和 5、或 M 和 H。 除此之外,这个超正方体还向识别的单词添加了空格,而图像中没有空格。下图被识别为"HI 3H".

这张图片的结果是“FBKHJ 1R1”

因此,tesseract 添加了一个空格,尽管图像中实际上并没有空格。 是否有可能参数化超立方体的间距行为?

Edit

抱歉,忘了补充,我还有包含空格的序列号。所以我无法删除识别的序列号内的所有空格。

例如,下面的序列号中包含空格的图像经过超正方体识别后结果为:J4 F1583BB。除了字符识别错误之外,该图像的空间识别正确。

我的超正方体的实际参数是:

tesseract::TessBaseAPI tess;
tess.Init(NULL, "eng", tesseract::OEM_TESSERACT_ONLY);
tess.SetPageSegMode(tesseract::PSM_SINGLE_BLOCK);
tess.SetVariable("tessedit_char_whitelist",
            "ABCDEFGHIJKLMNOPQRSTUVWXYZ012345789");

char* out = tess.GetUTF8Text();
string text = string(out);

Edit

从已经存在的答案中可以看出,例如“J”和“I”之间的空间似乎比其他字符之间的空间多一点。我选择的字体类型是 Monotype 字体。这样做的原因是我认为这有助于超正方体的字符识别。这种等宽字体类型(每个字符具有相同的宽度)的缺点是内核(字符之间的空间)不同。 请参阅以下来源的示例图像Source https://en.wikipedia.org/wiki/Typeface

您认为哪种字体类型会达到更好的识别效果?


调整参数tosp_min_sane_kn_sp可能有帮助。我通过这样做解决了问题。

如果没有帮助,您可以尝试其他tosp_*参数,或解决空间源代码“to space.cpp”

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

Tesseract 虚假空间识别 的相关文章

  • 按常量 id 对自定义类型的向量进行排序

    我需要对自定义类型的向量进行排序std vector
  • 在控制台应用程序中使用 SendGrid

    是否可以在 C 的控制台应用程序中使用发送网格 我的代码不起作用 我真的不知道为什么 你可以帮帮我吗 using System using System Net using System Net Mail using SendGrid na
  • 使用 C# 组合两个列表

    在 OCaml 中 有一个函数接受两个相同大小的列表并返回一个元组列表 val combine a list gt b list gt a b list C 中有类似的东西吗 我对输出的类型没有强烈的要求 它可以是元组列表 也可以是字典之类
  • 在 C# 中对 Directory.GetFiles 的结果进行排序

    我有这段代码来列出目录中的所有文件 class GetTypesProfiler static List
  • 在 C++ 中为哈希映射提供复合键

    我有一个数据结构
  • 从 C 数组中删除大量元素的最快方法

    我有包含数千个甚至更多元素的动态数组 为了不消耗大量内存 我可以从中删除不需要的元素 即元素已被使用 不再需要它们 所以从一开始我可以通过估计每次删除元素后所需的最大大小来分配较小的内存大小 我用这个方法但是需要很长很长的时间才能完成 有时
  • 如何从 Web API 应用程序返回 PDF

    我有一个在服务器上运行的 Web API 项目 它应该从两种不同类型的源返回 PDF 实际的可移植文档文件 PDF 和存储在数据库中的 base64 字符串 我遇到的问题是将文档发送回客户端 MVC 应用程序 剩下的部分是关于所发生的一切以
  • 如何在C#中读取用户环境变量?

    如何读取用户特定的环境变量 我知道如何获得系统范围的一个 例如 Environment GetEnvironmentVariable SOMETHING 提前致谢 使用其他重载Environment GetEnvironmentVariab
  • 如何使用 Visual Studio 扩展从当前解决方案中收集类型?

    我创建了 Visual Studio 2012 包 使用 VS2012 SDK 该扩展 如果安装在客户端的 IDE 环境上 应该具有从开发人员正在开发的当前打开的解决方案中收集所有特定类型的功能 Visual Studio Designer
  • 3D 图形批处理

    很多网站 文章都说 批量 批 批 有人可以解释一下着色器中的 批处理 代表什么吗 即 是否 改变纹理 更改任意着色器变量 意味着某些东西不能 批处理 最简单的总结方法就是尝试尽可能少地调用 API 来绘制您需要绘制的内容 使用顶点数组或 V
  • 设置种子增强::随机

    我想通过使用不同的种子数来重置随机序列 运行此测试代码时 boost mt19937 gener 1 boost normal distribution lt gt normal 0 1 boost variate generator
  • C# - 方法必须有返回类型

    我在调用 C 中的方法时遇到问题 不断收到消息 方法 计算 必须有返回类型 using System Diagnostics namespace WindowsFormsApplication1 public partial class F
  • 如何使用Android opencv使图像的白色部分透明

    我无法链接超过 2 个网址 因此我将我的照片发布到此博客 请在这里查看我的问题 http blog naver com mail1001 220650041897 http blog naver com mail1001 220650041
  • 更改鼠标悬停时的矩形背景

    所以我有一个没有背景的矩形 当用户将鼠标悬停在其上时 我想给它一个背景渐变 然后当鼠标离开矩形时删除渐变 请有人发布所需的代码 并告诉我将其放在 cs xaml 文件中的位置吗 Thanks This
  • c#.NET 和 sprintf 语法

    这段代码如何翻译成 C 具体来说是如何sprintf用C 实现 string output The user s logged in string loggedIn is string loggedOut isn t if TheUser
  • 在 Cygwin 软件包列表中找不到 Openssl

    这里说的是https github com joyent node wiki Building node js on Cygwin Windows https github com joyent node wiki Building nod
  • 将 X509Certificate2 证书转换为 BouncyCastle X509Certificate

    我有一个 System Security Cryptography X509Certificates X509Certificate2 对象 我需要将其转换为 Org BouncyCastle X509 X509Certificate 的对
  • 使用 JSON.NET 将 JSON 数据反序列化为 C#

    我对使用 C 和 JSON 数据比较陌生 正在寻求指导 我使用的是 C 3 0 NET3 5SP1 和 JSON NET 3 5r6 我有一个已定义的 C 类 需要从 JSON 结构填充该类 但是 并非从 Web 服务检索的条目的每个 JS
  • 如何获取 TextRenderer 使用的确切文本边距

    System Windows Forms TextRenderer DrawText方法根据 的值呈现带或不带左右填充的格式化文本flags范围 TextFormatFlags NoPadding 将文本紧密地装入边界框 TextForma
  • 窗口关闭后仍在调用方法

    首先我不知道这是不是一个愚蠢的问题 我有这样的场景 首先我有一个主窗口 public MainWindow InitializeComponent dt is a System Windows Threading DispatcherTim

随机推荐

  • 了解基指针和堆栈指针:在 gcc 输出的上下文中

    我有以下 C 程序 int main int c 10 0 0 0 0 0 0 0 0 1 2 return c 0 当使用 gcc 的 S 指令编译时 我得到以下程序集 file array c text globl main type
  • 了解嵌套 Spring @Transactional 的工作原理

    我正在将 EJB 应用程序移植到 Spring 但遇到了一些问题 该应用程序使用 eclipselink 独立运行 这就是我们选择 spring 的原因 在此应用程序中 我需要创建一个订单 为此我首先需要创建一个客户 OrderLines
  • 检查“当前时间”是否在 2 次之间。但还要检查前一天的夜晚情况

    例如 我有 2 次 10 00 和 1 00 现在我想检查当前时间 是否在 javascript 中的这 2 次之间 问题是 在这种情况下 关门时间是第二天 因此它早于开门时间 由于某种原因我无法解决这个问题 我该如何以正确的方式做到这一点
  • 还有充分的理由支持 JDK 1.4 吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在考虑用 Java 构建一个开源项目 并且正在激烈争论不支持 JDK 1 4 及更早版本 该框架绝对可以使用较旧的 Java 模式和习惯用法
  • 如何使用 %ROWTYPE 获取游标值

    我做了一个如下所示的过程 我想获取游标值并从其他循环中提取这些值告诉我最好的方法是我的代码 CREATE OR REPLACE PROCEDURE TEST P EMP ID NUMBER TRIGER BY VARCHAR2 AS CUR
  • 用于包装采用 void* 参数的 C 回调的模板魔术?

    假设我正在使用 C API 它可以让您注册回调函数void 关闭 void register callback void func void void closure 在 C 中 拥有比void 所以我想创建一个包装器 让我注册强类型的 C
  • 将 zlib 过滤器与套接字对一起使用

    由于某种原因 zlib deflate过滤器似乎不适用于由生成的套接字对stream socket pair 从第二个套接字中可以读取的只是双字节 zlib 标头 之后的所有内容均为 NULL Example
  • 致命错误:调用未定义的方法 mysqli::error() [重复]

    这个问题在这里已经有答案了 我可以连接 但是当涉及到准备好的语句时 这就是我得到的错误 有什么问题吗 代码 Open connection db new mysqli DB HOST DB USER DB PASSWORD DB DATAB
  • 在 Swift 中将 CGFloat 转换为字符串

    这是我目前在 Swift 中将 CGFloat 转换为 String 的方法 let x Float Float CGFloat let y Int Int x let z String String y 有没有更有效的方法来做到这一点 您
  • 如何将数据库的结果显示到输入区域?

    正如您在我的 php 代码中看到的 我尝试通过 值 将数据库的结果回显到输入区域 但是这不断出现语法错误 有人可以
  • 如何防止在堆上创建对象?

    有谁知道如何在独立于平台的 C 代码中阻止在堆上创建对象 也就是说 对于 Foo 类 我想阻止用户这样做 Foo ptr new Foo 并且只允许他们这样做 Foo myfooObject 有人有什么想法吗 Cheers 尼克的回答 ht
  • 使用 Haskell 播放 wav 文件

    有没有一种简单 直接的方法可以使用某些库从 Haskell 播放 WAV 文件 并且可能使我可以一次播放许多声音 我知道 OpenAL 但我不是在编写一些高级音频合成程序 我只是想播放一些声音来进行一些小游戏 理想情况下 API 可能类似于
  • 如何使用 NX/Nrwl 为 Angular 创建应用程序特定配置?

    所以我有以下项目结构 apps car libs app car shared config 对于每个应用程序 我想提供不同的配置 可以在分组库中使用 export interface DefaultAppConfig language s
  • 如何让按钮看起来就像被按下一样?

    使用 VS2008 C Net 2 和 Winforms 如何使常规按钮看起来 按下 想象一下这个按钮是一个开 关开关 ToolStripButton有 Checked 属性 但常规 Button 没有 您可以用来获取此选项的一种方法是放置
  • ListFragment 的 FragmentPagerAdapter getItem 错误

    我看了很多代码 但无法弄清楚这一点 http developer android com reference android support v4 app FragmentPagerAdapter html http developer a
  • Hibernate 实体有一个通用基类吗?

    Hibernate 实体是否有一个通用基类 即具有 id 版本和其他通用属性的 MappedSuperclass 有什么缺点吗 Example MappedSuperclass public class BaseEntity private
  • 递归解析关联数组时如何检查 PHP 中的循环引用?

    我用循环引用创建了这个数组 arr array 1 gt one 2 gt two arr 3 arr 我有一个函数可以递归地打印出数组中的值 但我确实无法解决创建循环引用检查的问题 你怎么能这么做呢 我用于打印数组的当前函数复制如下 我没
  • 这个JSON的数据结构是怎样的?

    我试图使用 Gson 将 Json 解析为 Java 但是当我使用 fromJson 时 我总是得到 null 谁能帮我解释一下这个数据结构 谢谢 d results metadata uri https api datamarket az
  • 有没有办法用 Java 下载 Microsoft Azure 数据中心 IP 范围?

    我的问题类似于有没有办法以编程方式自动下载 Microsoft Azure 使用的最新 IP 范围 https stackoverflow com questions 28798014 ms azure automatically down
  • Tesseract 虚假空间识别

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