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
Post a Comment