Pytesseract image_to_string пустой вывод - PullRequest
0 голосов
/ 10 марта 2020

У меня есть это изображение, которое было вырезано из другого изображения, и я хочу дать это изображение в качестве входного для метода image_to_string:

import pytesseract
import cv2
num_plate = cv2.imread('E:\Images\car_plate222.jpeg' , cv2.IMREAD_GRAYSCALE)
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
cv2.dilate(num_plate, (15, 15), num_plate)
pytesseract.image_to_string(num_plate)

Вот фотография: Автомобильная табличка:
Car Plate

Я использовал расширение для повышения производительности, но оно не дает желаемого результата (иногда дает пустую строку, а иногда странный вывод)

Кто-нибудь знает, что неправильно?

1 Ответ

0 голосов
/ 24 апреля 2020

Вы должны threshold изображение, прежде чем передать его на pytesseract. Это увеличивает точность. Вот пример:

import cv2
import numpy as np
import pytesseract
from PIL import Image

# Grayscale image
img = Image.open('E:\\WorkDir\\KAVSEE\\Python\\test.jpg').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))

Надеюсь, это поможет:)

...