Я пытаюсь оптимизировать свою программу на Python с помощью Boost и заменить некоторый код Python функциями C ++.
Код Python:
from PIL import Image
for i in xrange(len(lines)):
im = Image.fromarray(lines[i])
line = pytesseract.image_to_string(im, "ukr+ukrb") # working to slow
И код на C ++:
Pix *image = pixRead("/home/lucas63/Downloads/test.tif"); # here i need to get image directly from Python
api->SetImage(image);
outText = api->GetUTF8Text();
printf("OCR output:\n%s", outText);`
Итак, мне нужно сделать две вещи:
Boost.Python
,Вы можете попробовать использовать tesserocr который оборачивается вокруг C ++ API tesseract:
import tesserocr
with tesserocr.PyTessBaseAPI(lang='ukr+ukrb') as api:
for l in lines:
im = Image.fromarray(l)
api.SetImage(im)
line = api.GetUTF8Text()
Это будет инициализировать API один раз и использовать его для обработки нескольких изображений.
Других решений пока нет …