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.

