小编non*_*mer的帖子

是什么导致 pytesseract 根据使用的是 opencv 还是 Pillow 来读取双行图像的顶部或底部文本行?

编辑:感谢 Nathancy,我忘记处理解决阅读问题的图像。仍然想知道是什么让 Tesseract 只读取未处理图像的顶部或底部线(相同的图像,两种不同的结果)

原始:
我有一个包含两行文本的图像: pytesseract 的随机测试图像

当我使用 PIL Image 在 python (IDLE Python 3.6) 中打开图像并使用 pytesseract 提取字符串时,它只正确提取最后一行/底行。文本的上面一行是乱码。(参见下面的代码部分)
但是,当我使用 opencv 打开图像并使用 pytesseract 提取字符串时,它只正确提取顶部/上面的行,同时弄乱了第二个/文本的底行。(另请参见下面的代码部分)

这是代码:

>>> from PIL import Image, ImageFilter
>>> import pytesseract
>>> pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
>>> import cv2

>>> img = Image.open(r"C:\Users\user\MyImage.png")
>>> img2 = cv2.imread(r"C:\Users\user\MyImage.png", cv2.IMREAD_COLOR)


>>> print(pytesseract.image_to_string(img2))
Pet Sock has 448/600 HP left
A ae eee PER eats ae

>>> print(pytesseract.image_to_string(img))
Le TL
JHE has 329/350 HP left.
Run Code Online (Sandbox Code Playgroud)

pytesseract.image_to_boxes当我在两者上使用时imgimg2 …

python ocr opencv python-imaging-library python-tesseract

4
推荐指数
1
解决办法
4397
查看次数