1

我正在尝试使用 Boost 在 Python 上优化我的程序,并用 C++ 函数替换一些 Python 代码。

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++ 中使用多威胁来提高性能)。
4

1 回答 1

0

您可以尝试使用包含 tesseract 的 C++ API 的tesserocr :

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 一次并使用它来处理多个图像。

于 2016-10-22T18:42:17.953 回答