Working on memory leaks, just faced that valgrind memcheck see serious leak 
on TessBaseAPI initialization call

api4->Init

is there any way to fix this?

UPDATE:
if valgrind memcheck  api sample from official Tesseract site
API examples | tessdoc (tesseract-ocr.github.io) 
<https://tesseract-ocr.github.io/tessdoc/APIExample.html>
it gives same warning

This issue 100% was already discussed :)
Please advise if you have any solution

#include <tesseract/baseapi.h>
#include <leptonica/allheaders.h>

int main()
{
    char *outText;

    tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI();
    // Initialize tesseract-ocr with English, without specifying tessdata 
path
    if (api->Init(NULL, "eng")) {
        fprintf(stderr, "Could not initialize tesseract.\n");
        exit(1);
    }

    // Open input image with leptonica library
    Pix *image = pixRead("/usr/src/tesseract/testing/phototest.tif");
    api->SetImage(image);
    // Get OCR result
    outText = api->GetUTF8Text();
    printf("OCR output:\n%s", outText);

    // Destroy used object and release memory
    api->End();
    delete api;
    delete [] outText;
    pixDestroy(&image);

    return 0;
}


void Name::test(){
tesseract::TessBaseAPI *api4 = new tesseract::TessBaseAPI();
api4->Init("/usr/share/tesseract-ocr/4.00/tessdata/", "eng");
}

==15652== Conditional jump or move depends on uninitialised value(s)
==15652==    at 0xA49B60D: nextOnPixelInRaster (in 
/usr/lib/x86_64-linux-gnu/liblept.so.5.0.4)
==15652==    by 0xA49C85D: pixConnCompBB (in 
/usr/lib/x86_64-linux-gnu/liblept.so.5.0.4)
==15652==    by 0xA450E80: ??? (in 
/usr/lib/x86_64-linux-gnu/liblept.so.5.0.4)
==15652==    by 0xA451494: ??? (in 
/usr/lib/x86_64-linux-gnu/liblept.so.5.0.4)
==15652==    by 0xA451EFA: bmfCreate (in 
/usr/lib/x86_64-linux-gnu/liblept.so.5.0.4)
==15652==    by 0x57965BF: tesseract::Tesseract::Tesseract() (in 
/usr/lib/x86_64-linux-gnu/libtesseract.so.4.0.1)
==15652==    by 0x574E396: tesseract::TessBaseAPI::Init(char const*, int, 
char const*, tesseract::OcrEngineMode, char**, int, GenericVector<STRING> 
const*, GenericVector<STRING> const*, bool, bool (*)(STRING const&, 
GenericVector<char>*)) (in /usr/lib/x86_64-linux-gnu/libtesseract.so.4.0.1)
==15652==    by 0x574E7C9: tesseract::TessBaseAPI::Init(char const*, char 
const*, tesseract::OcrEngineMode, char**, int, GenericVector<STRING> 
const*, GenericVector<STRING> const*, bool) (in 
/usr/lib/x86_64-linux-gnu/libtesseract.so.4.0.1)
==15652==    by 0x14B528: tesseract::TessBaseAPI::Init(char const*, char 
const*) (baseapi.h:224)
==15652==    by 0x14B225: Name::test() (Name.cpp:64)
==15652==    by 0x184A70: main (main.cpp:69)

-- 
You received this message because you are subscribed to the Google Groups 
"tesseract-ocr" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tesseract-ocr+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tesseract-ocr/372d4d82-2e22-4ed5-9971-a6e9b1659c58n%40googlegroups.com.

Reply via email to