Pytesseract 无法在 Ubuntu 上准确读取图像

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

目前我正在尝试在我的一台 Ubuntu 机器上运行一个 Python 程序,使用 pyautogui 截取我屏幕的一部分,然后使用 opencv 和 pytesseract 从该屏幕截图中读取文本。我能够在我的 Windows 10 机器上成功地做到这一点,并且它能够完美地读取图像。然而,一旦我在我的 Ubuntu 机器上尝试了这个,结果就非常不同并且非常不准确。我假设这可能是一个架构问题,但老实说我不知道。如果您对为什么会发生这种情况有任何建议,请告诉我。

这是我试图从中读取文本的屏幕截图

这是我的 Python 程序的代码

import cv2
from PIL import Image
import pytesseract


img = cv2.imread("screenshot.png")

text = pytesseract.image_to_string(img,lang="eng")
print(text)

(这是我的 Ubuntu 机器上的代码,我的 Windows 机器上的代码之间的唯一区别是我指定了 tesseract 可执行文件的路径,因为它不在我的 PATH 中,但除此之外它是相同的代码)

我的 Windows 机器上的输出:

748 - Cry Me A River

我的 Ubuntu 机器上的输出:

VL} ea wa ow WN Aois

其他注意事项:

-分辨率在两台机器上都是 1920x1080

-我尝试在两台机器上使用相同的像素测量截取相同的屏幕截图,这导致了两种不同的结果 输出

-我还尝试使用在我的 Windows 机器上拍摄的相同屏幕截图图像并将其发送到程序的两个版本 导致两个不同的输出

-与我的 Ubuntu 机器相比,我的 Windows 机器在部件方面具有更高的规格。 (不确定这是否在这里起着重要作用,但 我正在吐出任何可能有贡献的东西)

-我的 Ubuntu 版本是 22.04

python opencv ubuntu python-tesseract
© www.soinside.com 2019 - 2024. All rights reserved.