c# - How to show image of tif coordinates obtained from Tessnet (Tesseract) -


i'm running ocr on tesseract engine tessnet c# wrapper. have obtained image coordinates of recognized words , use coordinates show part of page. don't care if page portion saved separate image or if highlights section of tif image somehow.

here current code:

textwriter tw = new streamwriter(@"u:\user files\bwalker\ocrtesting.txt");             bitmap image = new bitmap(@"u:\user files\bwalker\2849257.tif");             tessnet2.tesseract ocr = new tessnet2.tesseract();             ocr.setvariable("tessedit_char_whitelist", "0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz.,$-/#&=()\"':?"); // if digit             ocr.init(@"c:\users\bwalker\documents\visual studio 2010\projects\tessnetwinforms\tessnetwinforms\bin\release\", "eng", false); // use correct tessdata             list<tessnet2.word> result = ocr.doocr(image, system.drawing.rectangle.empty);             string results = "";             foreach (tessnet2.word word in result)             {                 results += word.confidence + ", " + word.text + ", " +word.top+", "+word.bottom+", "+word.left+", "+word.right+"\n";             }              using (streamwriter writer = new streamwriter(@"u:\user files\bwalker\ocrtesting2.txt", true))             {                 writer.writeline(results);                 writer.close();             }             messagebox.show("completed"); 

and here's section of resulting .txt file:

14, due, 105, 136, 1886, 1962 89, date, 105, 136, 1978, 2064 50, 06/16/2009, 105, 136, 2298, 2504 

i have solved this. after getting coordinates words, doing display associated images:

system.drawing.rectangle duedaterectangle = new system.drawing.rectangle(duedaterect1, duedaterect2, duedaterect4 - duedaterect1, duedaterect3 - duedaterect2); system.drawing.imaging.pixelformat format = image.pixelformat; bitmap clonebitmap = image.clone(duedaterectangle, format); memorystream ms = new memorystream(); clonebitmap.save(ms, imageformat.png); ms.position = 0; bitmapimage duedateimage = new bitmapimage(); duedateimage.begininit(); duedateimage.streamsource = ms; duedateimage.endinit(); duedateimagebox.source = duedateimage; 

Comments

Popular posts from this blog

jquery - Invalid Assignment Left-Hand Side -

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -