Я хочу преобразовать версию C ++ Пример итератора результата в tesseract-ocr do c в Python.
Pix *image = pixRead("/usr/src/tesseract/testing/phototest.tif");
tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
api->Init(NULL, "eng");
api->SetImage(image);
api->Recognize(0);
tesseract::ResultIterator* ri = api->GetIterator();
tesseract::PageIteratorLevel level = tesseract::RIL_WORD;
if (ri != 0) {
do {
const char* word = ri->GetUTF8Text(level);
float conf = ri->Confidence(level);
int x1, y1, x2, y2;
ri->BoundingBox(level, &x1, &y1, &x2, &y2);
printf("word: '%s'; \tconf: %.2f; BoundingBox: %d,%d,%d,%d;\n",
word, conf, x1, y1, x2, y2);
delete[] word;
} while (ri->Next(level));
}
Что я мог сделать до сих пор, так это следующее:
import ctypes
liblept = ctypes.cdll.LoadLibrary('liblept-5.dll')
pix = liblept.pixRead('11.png'.encode())
print(pix)
tesseractLib = ctypes.cdll.LoadLibrary(r'C:\Program Files\tesseract-OCR\libtesseract-4.dll')
tesseractHandle = tesseractLib.TessBaseAPICreate()
tesseractLib.TessBaseAPIInit3(tesseractHandle, '.', 'eng')
tesseractLib.TessBaseAPISetImage2(tesseractHandle, pix)
#tesseractLib.TessBaseAPIRecognize(tesseractHandle, tesseractLib.TessMonitorCreate())
Я не могу преобразовать C ++ api->Recognize(0)
в Python (то, что я пробовал, находится в последней строке (закомментировано) кода, но это неверно), у меня нет опыта с C ++, поэтому я не могу больше go, кто-нибудь может помочь с преобразованием? API:
Я думаю, у меня также есть некоторые трудности при последующем преобразовании, например, я не знаю, как обозначим tesseract::RIL_WORD
в Python, так что было бы любезно предоставить мне полную версию конверсии, спасибо!
Я знаю, что есть проект с именем tesserocr , который может спасти меня от конверсии, но проблема с проектом заключается в том, что они не предоставляют обновленные колеса windows Python, которые это главная причина для меня, чтобы сделать преобразование.