使用Pytesseract OCR识别表格图像中的特定数字

问题描述 投票:1回答:1

我想从附件图像(png文件)中读取一列数字。

“单击以查看图像”“>

我的代码是

import cv2
import pytesseract
import os

img = cv2.imread(os.path.join(image_path, image_name), 0)
config= "-c 
        tessedit_char_whitelist=01234567890.:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

pytesseract.image_to_string(img, config=config)

此代码为我提供了输出字符串:'n113 \ nun \ n1.08'。如我们所见,存在两个问题:

  1. 无法识别1.13中的小数点(请参阅附图)。>>
  2. 它完全无法读取1.11(请参阅附图)。它只返回'nun'。
  3. 如何解决这些问题?

    最佳

我想从附件图像(png文件)中读取一列数字。我的代码是import cv2 import pytesseract import os img = cv2.imread(os.path.join(image_path,image_name),0)config =“ -c ...

python opencv ocr image-recognition python-tesseract
1个回答
0
投票

您需要预处理图像。一种简单的方法是使用Otsu的阈值调整图像大小,转换为灰度并获得二进制图像。在这里,我们可以应用轻微的高斯模糊,然后反转图像,以便提取的所需文本为白色,背景为黑色。这是准备用于OCR的已处理图像

© www.soinside.com 2019 - 2024. All rights reserved.