我正在尝试使用
pytesseract
从图像中提取数据。该模块有
image_to_data
和
image_to_osd
方法。这两种方法提供了大量信息(
TextLineOrder
、
WritingDirection
、
ScriptDetection
、
Orientation
等)作为输出。
下图是该方法的输出。这些列的值(
image_to_data
、
level
、
block_num
、
par_num
、
line_num
)是什么意思?
word_num
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
的输出。
-
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