首页 > 编程问答 >有谁知道pytesseract的image_to_data和image_to_osd方法的输出的含义?

有谁知道pytesseract的image_to_data和image_to_osd方法的输出的含义?

时间:2024-08-07 04:11:37浏览次数:5  
标签:python ocr python-tesseract

我正在尝试使用 pytesseract 从图像中提取数据。该模块有 image_to_data image_to_osd 方法。这两种方法提供了大量信息( TextLineOrder WritingDirection ScriptDetection Orientation 等)作为输出。

下图是该方法的输出。这些列的值( image_to_data level block_num par_num line_num )是什么意思? word_num

enter image description here

image_to_osd 的输出如下所示。其中每个术语的含义是什么? 我参考了文档,但没有找到有关这些参数的任何信息。

Page number: 0
Orientation in degrees: 0
Rotate: 0
Orientation confidence: 16.47
Script: Latin
Script confidence: 4.00

I referred to docs but I did not find any info regarding these parameters.


好的,让我们来分解一下 pytesseract 中 image_to_data image_to_osd 的输出。

  1. image_to_data

image_to_data 方法提供有关图像中检测到的文本的全面信息,将其分解为单词和行等层次结构。以下是输出的每个列标题的含义:

  • level: 表示检测到的文本组件的层次级别。
    • 1: 页面
    • 2: 块
    • 3: 段落
    • 4: 行
    • 5: 单词
  • page_num: 图像中的页码(如果输入是多页文档)。
  • block_num: 页面内文本块的编号。文本块对应于被认为是文本的不同“块”的区域,例如段落、标题等。
  • par_num: 文本块内的段落编号。
  • line_num: 段落内的行号。
  • word_num: 行内的单词编号。
  • left: 文本组件边界框的左上角 x 坐标。
  • top: 文本组件边界框的左上角 y 坐标。
  • width: 文本组件边界框的宽度。
  • height: 文本组件边界框的高度。
  • conf: 检测到的单词的置信度(0 到 100)。较低的值表示置信度较低。
  • text: 识别出的文本内容(如果 output_type 设置为 Output.DICT ,则此列将存在)。

  • image_to_osd

image_to_osd 方法执行方向和脚本检测。它提供有关整个图像的元信息,而不是像 image_to_data 那样提供逐个单词的信息。以下是输出的每个字段的含义:

  • Page number: 图像中的页码。
  • Orientation in degrees: 图像中文本的主要方向(以度为单位)。通常是 0(无旋转)、90、180 或 270。
  • Rotate: 图像旋转到正确定向的推荐角度。
  • Orientation confidence: 检测到的方向的置信度分数。较高的值表示置信度较高。
  • Script: 检测到的文本的脚本(例如,Latin、Arabic、Cyrillic 等)。
  • Script confidence: 检测到的脚本的置信度分数。较高的值表示置信度较高。

换句话说:

  • 当需要对检测到的文本进行详细分析(例如提取特定单词、行或段落)时,请使用 image_to_data 。层次结构使可以按页面、块、段落、行和单词组织文本。
  • 当需要有关整个图像文本的方向和脚本的信息时,请使用 image_to_osd 。这些信息可用于预处理图像(例如,通过旋转到正确方向)以提高 OCR 精度。

我希望这个解释对有所帮助!如果还有其他问题,请告诉我。

标签:python,ocr,python-tesseract
From: 61461520

相关文章

  • Python 类型注释中“|”两边是否“强制”使用空格?
    “Union运算符”|没有出现在PEP8的其他建议中的“始终被空格包围的运算符”列表中因此,应该可以将其样式设置为类似于算术运算符,并删除圆括号、方括号内的空格,或者如果该运算符比表达式中的其他运算符具有更高的优先级。在我看来,删除空格可以提高表达式......
  • ArcPro (3.2+) Python 脚本工具中从 .atbx Toolbox 相对导入本地模块
    我设置了一个库和关联的ArcGISToolbox,以便:/root├──Toolbox.atbx├──mylib│└──my_function.py├──my_tools│└──my_gp_script.py我将代码存储库的开发克隆保存在公司共享服务器上的一个位置,并在GitHub上托管一份副本。当我进行更新时,我会......
  • Python vs. R:揭秘机器学习领域的双璧
    一、引言1.1背景介绍随着大数据和人工智能技术的飞速发展,机器学习已经成为了一个热门领域。在机器学习领域,Python和R是两种广泛使用的编程语言。Python因其简洁易读的语法和强大的库支持,成为了最受欢迎的编程语言之一。而R则以其强大的统计分析和数据可视化能力,在统计学......
  • Windows10 安装编译后的 pysqlcipher3-1.2.1 基于 Python 3.8.10
    Windows10安装编译后的pysqlcipher3-1.2.1基于Python3.8.10本文主要是将直接安装编译后的文件,不一定的成功,但是可以尝试使用,若无法直接安装,请参考编译过程,自行编译安装,编译过程见这里安装pysqlcipher3这里用32位举例因为64位安装完全相同,只需要把对应的位数换成64......
  • 【Python】Python基础语法知识点汇集
    Python是一种高级的、解释型的编程语言,以其清晰的语法和代码可读性而闻名。本篇文章将汇集Python编程的基础语法知识点,为初学者提供一个全面的学习指南。......
  • 启动Python 的内置服务器访问本地图片
    要使用Python的内置服务器访问本地图片并正确地显示在浏览器中,你需要将图片文件放在内置服务器的根目录或其子目录中。以下是详细步骤:1.将图片文件复制到服务器根目录:例如,将zheng.jpeg文件复制到一个特定的目录中(例如,你的项目目录)。假设你将图片文件复制到C:\Users\panda......
  • 17:Python数据类型练习题
    #1获取c1,c2相同的元素列表c1=[11,22,33]c2=[22,33,44]foriinc1:ifiinc2:print(i)#2获取c1中有,c2没有的元素列表foriinc1:ifinotinc2:print(i)#3获取c2中有,c1没有的元素列表foriinc2:ifinotinc1:print(i)#4获......
  • (Jmeter新玩法)Python 调 Jmeter执行参数化jmx脚本
    #Python调Jmeter执行参数化jmx脚本importosfromos.pathimportjoinimporttimeimportrefromstringimportTemplatejmeter_Home=r"F:\softtotal\xxx\bin\jmeter.bat"#jmx文件路径currpath=os.path.dirname(os.path.realpath(__file__))#要运行的jmx脚......
  • python爬虫预备知识三-多进程
    python实现多进程的方法:fork、multiprocessing模块创建多进程。os.fork方法os.fork方法只适合于unix/linux系统,不支持windows系统。fork方法调用一次会返回两次,原因在于操作系统将当前进程(父进程)复制出一份进程(子进程),这两个进程几乎完全相同,fork方法分别在父进程和子进程中......
  • PEP 8 – Python 代码风格指南中文版(七)
    编程建议(2) 定义异常时,应该从Exception类继承,而不是从BaseException类继承。直接从BaseException继承的异常通常是那些几乎不应该被捕获的异常。设计异常层次结构时,应该基于捕获异常的代码可能需要进行的区分,而不是基于异常被抛出的位置。目标是通过编程方式回答“出了......