Изображение с белым на фиолетовом тексте не распознается Tesseract, даже преобразуется в черно-белый - PullRequest
0 голосов
/ 28 апреля 2018

Я использую код ниже. Но тессеракт не может даже увидеть этот простой образ.

from PIL import Image
import pytesseract
image_file = Image.open("question.png")

image_file = image_file.convert('1') # convert image to black and white
image_file.save('question.png')
text = pytesseract.image_to_string(image_file, lang = 'eng',config='-psm 6')
print(text)

Примечание: [1.] Пытался превратить Pic в черно-белый [2.] Используемый псм

ВОПРОС: Как правильно распознать данное изображение?

Question.png

Обновление:

Я использовал этот код сейчас:

from PIL import Image
import pytesseract

image_file = Image.open('purple.png')

image_file = image_file.convert('L') # convert image to black and white
image_file.save('question.png')
image_file = Image.open('question.png') #without this line also the output is same
text = pytesseract.image_to_string(image_file, lang = 'eng',config='-psm 6')
print(text)

Выход:

enter image description here

Пожалуйста, помогите мне, почему это не работает.

1 Ответ

0 голосов
/ 28 апреля 2018

С image.convert('-1') вы получаете это изображение

enter image description here

Это изображение с большим количеством шумов , поэтому Тессеракт не справится с этим.

Я предлагаю вам преобразовать его в более качественное изображение в градациях серого с помощью image_file.convert('L') (для получения дополнительной информации о режиме '1' и режиме 'L' обратитесь к документации ). В режиме 'L' вы получите

enter image description here

С этим изображением Тессеракт прекрасно распознает текст

from PIL import Image
import pytesseract

image_file = Image.open('purple.png')

image_file = image_file.convert('L') # convert image to black and white
image_file.save('question.png')
text = pytesseract.image_to_string(image_file, lang = 'eng',config='-psm 6')
print(text)

Тессеракт вывод:

какой из этих элементов является газом в его
стандартное состояние?

...