Ошибка при указании объекта типа байта требуется, даже после того, как у меня есть io.ByteIO в Tesseract с использованием PIL и pyocr - PullRequest
0 голосов
/ 31 января 2019

Я пытался использовать PyOCR для чтения изображения, но получаю сообщение об ошибке

TypeError: требуется объект, похожий на байты, а не PngImageFile

Я пытался использовать Jpeg, но все равно получаю сообщение об ошибке типа

TypeError: требуется объект, похожий на байты, а не 'JpegImageFile'

Что мне сделать, чтобы решить эту проблему?Вот мой код--

import sys 
import pyocr.builders
import pyocr
import PIL.Image 
import io
from pyocr import tesseract

#for tool in pyocr.get_available_tools():
#    for lang in tool.get_available_languages():
#        print("Tool {} supports language {}".format(tool, lang))



# The tools are returned in the recommended order of usage

#pyocr.get_available_tools()[0]
lang = "english"
#tool.get_available_languages()[1]

image_path = "....jpg"
im = PIL.Image.open(image_path)
PIL.Image._show(im)
im.save("img1.png","PNG")
image = PIL.Image.open("img1.png")

txt = tesseract.image_to_string(PIL.Image.open(io.BytesIO(image)), lang=lang, builder=pyocr.builders.TextBuilder())
print(txt)
...