Отправить изображение с Python на C ++ через Boost

Я пытаюсь оптимизировать свою программу на 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);`

Итак, мне нужно сделать две вещи:

  1. Отправить изображение из Python в C ++, используя Boost.Python,
  2. Отправить массив изображений на C ++ (я хочу повысить производительность с помощью многообработки в C ++).

1

Решение

Вы можете попробовать использовать 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 один раз и использовать его для обработки нескольких изображений.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]