gpt4 book ai didi

python - 带有 Tesseract 的空字符串

转载 作者:太空宇宙 更新时间:2023-11-03 22:02:35 24 4
gpt4 key购买 nike

我正在尝试从一个大文件中读取不同的裁剪图像,我设法读取了其中的大部分,但是当我尝试使用 tesseract 读取它们时,其中一些返回空字符串。

String to read with tesseract

代码就是这一行:

pytesseract.image_to_string(cv2.imread("img.png"), lang="eng")

有什么我可以尝试读取这类图像的吗?

提前致谢

编辑: enter image description here

最佳答案

在将图像传递给 pytesseract 之前对图像进行阈值处理可以提高准确性。

import cv2
import numpy as np

# Grayscale image
img = Image.open('num.png').convert('L')
ret,img = cv2.threshold(np.array(img), 125, 255, cv2.THRESH_BINARY)

# Older versions of pytesseract need a pillow image
# Convert back if needed
img = Image.fromarray(img.astype(np.uint8))

print(pytesseract.image_to_string(img))

打印出来

5.78 / C02

编辑:仅对第二张图像进行阈值处理会返回 11.1。另一个有用的步骤是将 page segmentation mode 设置为“将图像视为单个文本行”。使用配置 --psm 7。在第二张图片上执行此操作返回 11.1 "202 ',引号来自顶部的部分文本。要忽略这些,您还可以设置要使用白名单搜索的字符配置 -c tessedit_char_whitelist=0123456789.%. 一切都在一起:

pytesseract.image_to_string(img, config='--psm 7 -c tessedit_char_whitelist=0123456789.%')

这将返回 11.1 202。很明显,pytesseract 在使用百分比符号时遇到了困难,我不确定如何通过图像处理或配置更改来改进它。

关于python - 带有 Tesseract 的空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53797130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com