当前位置: 首页 > 知识库问答 >
问题:

OCR的最小字符大小

景阳平
2023-03-14

我正在计划一个相机的属性,我需要一个计算机视觉系统。我必须检测图像中的一些字母数字区域,然后使用Tesseract和OpenCV用OCR转换它们。一个典型的例子是高速公路上的车牌识别(但在我的项目中,速度不是问题)。

为了得到可靠的OCR转换,我需要知道哪一个可以是文本的最小像素高度,以估计相机分辨率、镜头的距离和焦距。

出于这个原因,我想知道OpenCV和Tesseract库是否为文本的最小可靠大小设置了一些约束,以便进行良好的识别。我读过不同的商业OCR推荐的字符大小在25到40像素之间。这个范围也适用于Tesseract/OpenCV吗?

我也用较小的字符大小(15 px)做了几个测试,OCR工作得很好,但当然有理想的光线、对比度和背景色条件。

共有1个答案

严易安
2023-03-14

大多数车牌识别算法使用边缘信息和分类来确定特定的符号(字母、数字或其他语言符号)。考虑到这一点,边缘需要定义良好的厚度和足够的对比度。

正如OP提到的,商业ALPR算法建议字符高度至少20像素。这将确保边缘是至少x像素的大多数标准字体类型,用于车牌。这里是一个字符高度约为25像素的车牌的例子-边缘至少有3像素宽。具有良好定义的边将有助于大多数ALPR算法。尽管过度的清晰度并不一定有助于提高ALPR性能,因为在边缘和连接成分被检测之前,为了消除噪声,无论如何都会进行一些模糊。

更高的对比度(改善的光照条件)和最佳的图像分辨率(字符大小至少20像素,但不要太高)将有助于提高ALPR算法的速度。

 类似资料:
  • 本文向大家介绍字符串中最大和最小的单词-JavaScript,包括了字符串中最大和最小的单词-JavaScript的使用技巧和注意事项,需要的朋友参考一下 我们需要编写一个JavaScript函数,该函数接受字符串并返回一个带有两个字符串值的数组,它们应分别是字符串中最小和最大的单词。 例如- 如果字符串是- 那么输出应该是- 因此,让我们为该功能编写代码 示例 以下是代码- 输出结果 控制台中的

  • 我有一个字符串s和一个整数k(子字符串长度),我正在尝试编写函数,这样它就可以找到长度为k的最小和最大的子字符串。并返回一个字符串,其中最小和最大的子字符串与换行符组合在一起。 到目前为止,我用下面的方法解决了这个问题,我编写了相同的代码来查找最小和最大的子字符串,然而,我想用流返回两个子字符串的单行代码。 我非常感谢任何建议,因为我现在正在学习lambda和stream。 那么,我该如何优雅地解

  • Snowflake文档指出,VARCHAR列仅限于16 MB未压缩的https://docs.Snowflake.net/manuals/sql-reference/data-types-text.html#data-types-for-text-strings Snowflake文档指出,VARCHAR数据会自动转换为JavaScript字符串数据类型。 https://docs.Snowfla

  • 问题内容: 所以基本上我正在生成随机的10000个IP地址,我想存储在HashSet中找到的所有那些IP地址,但是根据我的计算,发现了大约6000个IP地址,但是在HashSet中仅存储了700个IP地址?HashSet在存储String方面是否有任何限制。任何建议将不胜感激。 问题答案: 就您而言,没有限制(限制是数组的最大大小,即2 ** 31)。 但是,仅存储 唯一 值,因此我的猜测是您仅生

  • 问题内容: 为什么会限制其大小? 我浏览了一些链接:http : //www.coderanch.com/t/540346/java/java/maximum-size-hold- String-buffer 。 是因为count成员变量是int吗? 假设我们有2 ^ 31-1个字符,并在其中追加了一些字符。Count成员变量将增加附加的字符数,如果Count变量已经达到最大值(2 ^ 31-1)

  • 问题内容: 我听到一位同事说,即使我将String成员放在Java类中,即使String为空,我也要支付“ 24字节”的费用。准确吗?Integer,Float,Double是否相同?(与int,float,double相对,后者分别为4、4和8个字节)。 问题答案: 你要付4首或8个字节的 参考 。是否为每个“容器”对象实例额外的 对象 付费,取决于您如何获取空字符串。例如,如果您使用文字,那么