IMHO you should call  Clear in loop with  SetImage :
https://github.com/tesseract-ocr/tesseract/blob/master/src/api/baseapi.h#L675

Zdenko


po 24. 6. 2019 o 10:25 _ Flaviu <[email protected]> napísal(a):

> I come in just in time: I have developed a little test application, which
> have debug and release, source code, and exe.
>
> Here is the code that get text from images:
>
> BOOL CTemp::GetTextFromImage(CString sFileName)
> {
> PIX* pix = NULL;
> tesseract::TessBaseAPI Tess;
>
> do
> {
> if (Tess.Init(_T("*C:\\tessdata-master\\*"), _T("eng"),
> tesseract::OcrEngineMode::OEM_TESSERACT_LSTM_COMBINED))
> {
> m_sError.Format(_T("OCRTesseract: Could not initialize tesseract."));
> break;
> }
> // read image
> PIX* pix = pixRead(sFileName);
> if (! pix)
> {
> m_sError.Format(_T("Cannot open input file: %s."), sFileName);
> break;
> }
> // recognize
> Tess.SetImage(pix);
> }
> while (FALSE);
>
> // cleanup
> pixDestroy(&pix);
> Tess.Clear();
> Tess.End();
>
> return m_sError.IsEmpty();
> }
>
> Of course, you have put *tessdata-master* folder in C:
>
> The test app has an menu item: File->Read images, and from that
> CFileDialog you can select multiple image file, and you can see the state
> of reading in the statusbar.
>
> If you intend to run this project on you machine, you have modify yourself
> the paths in project settings. No big deal. The project is a VS2017
> project, MFC.
>
> I run this app on few Win10 64bit machines, with the same results. I have
> loaded for my tests 14 images, and after all image has been converted, the
> test app took 466 MB, and after these 14 images has been loaded again, the
> app took 883 MB, after I loaded again, 1307 MB, and so on ... the only way
> to free RAM is to stop the app and start again ! Sad :(
>
> Here is the link for attachements:
> https://1drv.ms/f/s!AtSPCxnvttzegw6QHz8RAOjJq8fe
>
>
> On Monday, June 24, 2019 at 10:53:40 AM UTC+3, zdenop wrote:
>>
>> AFAIR: there were always problem with windows tesseract debug build
>> (MSVC). Release version works fine, but debug failed. So it would be great
>> if somebody experienced with windows debugging have a look at this.
>>
>> Zdenko
>>
>>
>> ne 23. 6. 2019 o 20:29 _ Flaviu <[email protected]> napísal(a):
>>
>>> Ok, good idea, I am working right now on a simple testing app that prove
>>> the issue. I will come back as soon as I can.
>>>
>>> On Thursday, June 20, 2019 at 2:02:12 PM UTC+3, _ Flaviu wrote:
>>>>
>>>> I am using tesseract 4 on a VC++ (MFC) app, to read text from images
>>>> (A4 sizes). I noticed that while I using this app on several PCs (Win10 64
>>>> bit, *GB RAM), the RAM occupied by my app (that use tesseract) is
>>>> increasing on and on. If I read 14 images, my app eat 470 MB, and if I
>>>> didn't close the app and read again all these 14 images, the RAM eaten by
>>>> my app is increasing until ~800MB, and if continue to read the same images,
>>>> the RAM is increasing on an on. Why is this happen ?
>>>>
>>>> Here is the code that I am using for tesseract:
>>>>
>>>> BOOL CMyClass::GetTextFromImage()
>>>> {
>>>> PIX* pix = NULL;
>>>> tesseract::TessBaseAPI* pTess = new tesseract::TessBaseAPI;
>>>>
>>>> do
>>>> {
>>>> if (pTess->Init(...))
>>>> {
>>>> m_sError.Format(_T("OCRTesseract: Could not initialize tesseract."));
>>>> break;
>>>> }
>>>> // setup
>>>> // read image
>>>> PIX* pix = pixRead(m_sFileName);
>>>> if (! pix)
>>>> {
>>>> break;
>>>> }
>>>> // recognize
>>>> pTess->SetImage(pix);
>>>> }
>>>> while (FALSE);
>>>>
>>>> // cleanup
>>>> // pTess->Clear();
>>>> // pTess->End();
>>>> delete pTess;
>>>> pTess = NULL;
>>>> pixDestroy(&pix);
>>>>
>>>> return TRUE;
>>>> }
>>>>
>>>>
>>>> Is there anything wrong here ? Why is increasing RAM while I am using
>>>> tesseract ?
>>>>
>>>> --
>>> 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 [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at https://groups.google.com/group/tesseract-ocr.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/tesseract-ocr/e338cc87-e7c3-4bb0-bd94-632185e25652%40googlegroups.com
>>> <https://groups.google.com/d/msgid/tesseract-ocr/e338cc87-e7c3-4bb0-bd94-632185e25652%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
> 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 [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/tesseract-ocr.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tesseract-ocr/00b7d682-befa-46d9-8c44-e349c5824d03%40googlegroups.com
> <https://groups.google.com/d/msgid/tesseract-ocr/00b7d682-befa-46d9-8c44-e349c5824d03%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/tesseract-ocr.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tesseract-ocr/CAJbzG8w3H2XYUbr6w%3D1uuGNi1a3ngXwg2PqKV3SorBrAvpSOVw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to