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

问题描述 投票:0回答:2

我正在尝试使用

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
我参考了文档,但没有找到有关这些参数的任何信息。

python ocr python-tesseract
2个回答
15
投票

我的图像.jpg

例如,在下面的代码中用image_to_data测试my_image.jpg,我们将得到类似results.png的结果。

结果.png

  • level = 1/2/3/4/5,当前项目的级别。

  • page_num:当前项的页索引。在大多数情况下,图像只有一页。

  • block_num:当前项目的块项目。当 tesseract OCR 时 图像,它会根据PSM将图像分割成若干块 参数和一些规则。一行中的单词通常位于一个块中。

  • par_num:当前项的段落索引。这是页面 分析结果。 line_num:当前项目的行索引。这是 页面分析结果。 word_num: 一个块中的单词索引。

  • line_num:当前项目的行索引。这是 页面分析结果。

  • word_num:一个块中的单词索引。

  • left/top/width/height:左上角坐标和宽度 当前单词的高度。

  • conf:当前单词的置信度, 范围是-1~100。-1表示这里没有文字。这 100 是最高值。

  • 文字:单词ocr结果。

image_to_osd结果含义:

  • 页码:当前项的页索引。在大多数情况下,图像只有一页。

  • 方向度数:当前图像中的文字相对于其阅读角度的顺时针旋转角度,取值范围为[0, 270, 180, 90]。

  • 旋转:记录当前图像中的文字要转换为可读的角度,相对于当前图像顺时针旋转,取值范围为[0, 270, 180, 90]。补充[以度为单位的方向]值。

  • 方向置信度:表示当前[方向度数]和[旋转]检测值的置信度。置信度越大,测试结果越可信,但目前尚未找到其取值范围的解释。

  • Script:当前图片中文字的编码类型。

  • 脚本置信度:当前图像中文本编码类型的置信度。

来自 pytesseract 导入输出 导入 pytesseract 导入CV2

image = cv2.imread("my_image.jpg") #swap color channel ordering from BGR (OpenCV’s default) to RGB (compatible with Tesseract and pytesseract). # By default OpenCV stores images in BGR format and since pytesseract assumes RGB format, # we need to convert from BGR to RGB format/mode: rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) pytesseract.pytesseract.tesseract_cmd = r'C:\mypath\tesseract.exe' custom_config = r'-c tessedit_char_whitelist=0123456789 --psm 6' results = pytesseract.image_to_data(rgb, output_type=Output.DICT,lang='eng',config=custom_config) print(results)
    

8
投票

级别

    没有 block_num、paragraph_num、line_num、word_num 的项目
  1. 带有 block_num 且没有 paragraph_num、line_num、word_num 的项目
  2. 具有 block_num、paragraph_num 且没有 line_num、word_num 的项目
  3. 包含 block_num、paragraph_num、line_num 且不包含 word_num 的项目
  4. 具有所有这些数字的项目

block_num:检测到的文本或项目的块号
par_num:检测到的文本或项目的段落编号
line_num:检测到的文本或项目的行号
word_num:检测到的文本或项目的字数

但首先,4 列是互连的。如果该项目来自新行,则字数将从 0 开始重新计数,不会从上一行最后一个字数继续。 line_num、par_num、block_num 也是如此。

查看下图以供参考。

第一列:block_num
第二列:par_num
第三列:line_num
第四列:word_num

enter image description here

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.