簡體   English   中英

python pytesseract.image_to_string 無法讀取圖像中的文本

[英]python pytesseract.image_to_string can't read text in image

我在 Windows 10 機器上使用 python3.7 和 Tesseract-OCR 版本 5。 我有包含數字的圖片。 然而,盡管人眼非常清楚,但 Tesseract 無法正確提取它們。 有些人給了我一些正確的解讀。 有些根本不返回任何東西。 附上一個是什么都不返回的極端情況...

text = pytesseract.image_to_string(n)
print(text) -> returns nothing

我讀到我必須將 DPI 更改為 300,Tesseract 才能正確讀取它。 你能告訴我最好的方法嗎? 我用谷歌搜索,但我找不到直接的方法來做到這一點。 謝謝!

輸入圖像

在此處輸入圖片說明


嗨 Nathancy,這是我在運行 pytesseract 命令時遇到的“不受支持的圖像對象”錯誤

>>> data = pytesseract.image_to_string(thresh, lang='eng', config='--psm 6')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python37\lib\site-packages\pytesseract\pytesseract.py", line 309, in image_to_string
}[output_type]()
  File "C:\Python37\lib\site-packages\pytesseract\pytesseract.py", line 308, in <lambda>
Output.STRING: lambda: run_and_get_output(*args),
  File "C:\Python37\lib\site-packages\pytesseract\pytesseract.py", line 208, in run_and_get_output
temp_name, input_filename = save_image(image)
  File "C:\Python37\lib\site-packages\pytesseract\pytesseract.py", line 121, in save_image
image = prepare(image)
  File "C:\Python37\lib\site-packages\pytesseract\pytesseract.py", line 113, in prepare
raise TypeError('Unsupported image object')
TypeError: Unsupported image object

這是一個使用 OpenCV 執行一些預處理的快速示例:

在此處輸入圖片說明

Pytesseract OCR 的結果:

55 58 6 25 41 1

代碼

import cv2
import pytesseract

pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"

# Load image, grayscale, Otsu's threshold
image = cv2.imread('1.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
thresh = 255 - cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]

# Blur and perform text extraction
thresh = cv2.GaussianBlur(thresh, (3,3), 0)
data = pytesseract.image_to_string(thresh, lang='eng', config='--psm 6')
print(data)

cv2.imshow('thresh', thresh)
cv2.waitKey()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM