I see,
If you have read the forum you now tesseract contains some memory
leak.
It's impossible to reset it correctly. The only solution I know is to
exit the running process and restart it.
With IIS it's impossible, the only soultion I see is to invoke it from
another process.
.NET can't unload a loaded DLL.

Remi

On Apr 28, 1:43 pm, ZioZione <[email protected]> wrote:
> Hi Remi, thank for your quick reply!
> Yes, tessDataPath is the same folder both for Release and Debug.
> My Web Application is structured as follows
>
> \bin --> contains tessnet2.dll
> \obj --> contains Debug and Release folders
> \Web --> contains application pages
> \Web\Home\frm_HOM.aspx --> main page
> \Web\Home\frm_HOM.aspc.cs --> main page codebehind
> \Web\Images --> contains all images to be OCRed
> \Web\tessdata --> contains "eng" and "ita" languages tessdata folders
>
> I tested also your latest dll, but, unfortunately, the behavior is the
> same. I will go more in details.
> Lets call "RunDebug" when you select from VS2005 the menu item Debug |
> Start Debugging, and "RunWODebug" when you select Debug | Start
> Without Debugging. After every run, I close .NET Development Server
> (WebDev.WebServer.exe) for reset all sessions. Here are all results:
>
> Debug, RunDebug --> OK
> Debug, RunWODebug --> error
> Release, RunDebug (makes no sense for me, but...) --> OK
> Release, RunWODebug --> error
>
> Also, if I RunNoDebug after a RunDebug without resetting Development
> Server, it works correctly. If I RunDebug without set breakpoints, it
> works correctly.
>
> Hope this helps for pointing out what could have been happened to the
> dll.
> Please let me know if I have to try some other things. Thank you!
> Best Regards
> ZioZione
>
> On 28 Apr, 11:56, Remi  Thomas <[email protected]> wrote:
>
> > Hi,
>
> > Is tessDataPath is the same in release and debug mode?
> > I did change a compilation option in tessnet2.dll, please try with the
> > new one.http://www.pixel-technology.com/freeware/tessnet2/bin.zip
>
> > Remi
>
> > On Apr 28, 9:09 am, ZioZione <[email protected]> wrote:
>
> > > Hi everybody,
> > > I am writing a C# Web Application that must perform OCR over various
> > > TIFF files. I am using the latest tessnet2 release (april 21, 2009).
> > > Here is the codebehind of my page:
>
> > >         tessnet2.Tesseract ocr = null;
> > >         string tessImgPath = "";
> > >         string tessDataPath = "";
>
> > >         protected void Page_Load(object sender, EventArgs e)
> > >         {
> > >             InitialiseData();
>
> > >             tessImgPath = Server.MapPath("../Images/P0028594.tif");
> > >             Bitmap image = new Bitmap(tessImgPath);
>
> > >             List<tessnet2.Word> m_words;
> > >             m_words = ocr.DoOCR(image, Rectangle.Empty);
>
> > >             if (m_words != null)
> > >             {
> > >                 int lc = tessnet2.Tesseract.LineCount(m_words);
> > >                 for (int i = 0; i < lc; i++)
> > >                 {
> > >                     Response.Write(tessnet2.Tesseract.GetLineText
> > > (m_words, i) + "<br>");
> > >                 }
> > >             }
> > >         }
>
> > >         void InitialiseData()
> > >         {
> > >             ocr = new tessnet2.Tesseract();
> > >             tessDataPath = Server.MapPath("../tessdata");
> > >             ocr.SetRootPath(tessDataPath, "ita");
> > >             ocr.Init("ita", false);
> > >         }
>
> > > I have the following problem: if the application is running in Debug
> > > mode, it works correctly, while running in Release mode (or also Start
> > > Without Debugging), the row
>
> > > ocr.Init("ita", false);
>
> > > causes following error:
>
> > > Attempted to read or write protected memory. This is often an
> > > indication that other memory is corrupt.
>
> > > Here is the Stack Trace:
>
> > > [AccessViolationException: Attempted to read or write protected
> > > memory. This is often an indication that other memory is corrupt.]
> > >    fgets(SByte* , Int32 , _iobuf* ) +0
> > >    read_word_list(SByte* filename, UInt64* dawg, Int32 max_num_edges,
> > > Int32 reserved_edges) +562
> > >    init_permute() +543
> > >    program_editup(SByte* configfile) +335
> > >    tessnet2.Tesseract.Init(String lang, Boolean numericMode) +66
> > >    SDG_MODI.Web.Home2.Home.InitialiseData() in C:\Produzione
> > > \PROGETTI_NET\SDG_MODI\SDG_MODI\Web\Home2\frm_HOM2.aspx.cs:110
> > >    SDG_MODI.Web.Home2.Home.Page_Load(Object sender, EventArgs e) in C:
> > > \Produzione\PROGETTI_NET\SDG_MODI\SDG_MODI\Web\Home2\frm_HOM2.aspx.cs:
> > > 28
> > >    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,
> > > Object o, Object t, EventArgs e) +15
> > >    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object
> > > sender, EventArgs e) +33
> > >    System.Web.UI.Control.OnLoad(EventArgs e) +99
> > >    System.Web.UI.Control.LoadRecursive() +47
> > >    System.Web.UI.Page.ProcessRequestMain(Boolean
> > > includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
> > > +1436
>
> > > What I have to do for avoid this error?
> > > Another question: I need also to show the TIFF image into the Web
> > > page. Actually it seems not possible, so I think I need some code to
> > > perform a conversion between TIFF and, i.e., JPG. Can someone point me
> > > out to some useful code? Thank you!
> > > Best Regards
> > > ZioZione
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"tesseract-ocr" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/tesseract-ocr?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to