Я использую приведенный ниже код для чтения японского языка.
но это дает ненужный символ, даже если он конвертируется в юникод.
Можете ли вы указать мне, как это исправить?
void Test(char* imagePath)
{
char *outText;
tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
// Initialize tesseract-ocr with English, without specifying tessdata path
if (api->Init("D:\\tessdata", "jpn", tesseract::OcrEngineMode::OEM_TESSERACT_ONLY))
{
fprintf(stderr, "Could not initialize tesseract.\n");
exit(1);
}
// Open input image with leptonica library
Pix *image = pixRead(imagePath);
api->SetImage(image);
// Get OCR result
outText = api->GetUTF8Text();
printf("OCR output:\n%s", outText);
// Destroy used object and release memory
api->End();
delete[] outText;
pixDestroy(&image);
}
Используя тестовые данные из ссылки ниже
https://github.com/tesseract-ocr/tessdata
Задача ещё не решена.
Других решений пока нет …