Advertisement
Guest User

Tesseract OCR Example .NET

a guest
May 20th, 2013
867
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.92 KB | None | 0 0
  1. public static void Main(string[] args)
  2.         {
  3.             //var testImagePath = "./phototest.tif";
  4.             //var testImagePath = "./e.png";
  5.             //if (args.Length > 0)
  6.             //{
  7.             //    testImagePath = args[0];
  8.             //}
  9.  
  10.             try
  11.             {
  12.                 StreamWriter sw = new StreamWriter(@"c:\users\user\desktop\test.txt");
  13.  
  14.                 var logger = new FormattedConsoleLogger();
  15.                 var resultPrinter = new ResultPrinter(logger);
  16.                 using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
  17.                 {
  18.                     using (var img = Pix.LoadFromFile(@"c:\users\eperez\desktop\test34.png"))
  19.                     {
  20.                         using (logger.Begin("Process image"))
  21.                         {
  22.                             var i = 1;
  23.                             using (var page = engine.Process(img))
  24.                             {
  25.                                 var text = page.GetText();
  26.                                 logger.Log("Text: {0}", text);
  27.                                 sw.WriteLine(text);
  28.                                 logger.Log("Mean confidence: {0}", page.GetMeanConfidence());
  29.  
  30.                                 using (var iter = page.GetIterator())
  31.                                 {
  32.                                     iter.Begin();
  33.                                     do
  34.                                     {
  35.                                         if (i % 2 == 0)
  36.                                         {
  37.                                             using (logger.Begin("Line {0}", i))
  38.                                             {
  39.                                                 do
  40.                                                 {
  41.                                                     using (logger.Begin("Word Iteration"))
  42.                                                     {
  43.                                                         if (iter.IsAtBeginningOf(PageIteratorLevel.Block))
  44.                                                         {
  45.                                                             logger.Log("New block");
  46.                                                         }
  47.                                                         if (iter.IsAtBeginningOf(PageIteratorLevel.Para))
  48.                                                         {
  49.                                                             logger.Log("New paragraph");
  50.                                                         }
  51.                                                         if (iter.IsAtBeginningOf(PageIteratorLevel.TextLine))
  52.                                                         {
  53.                                                             logger.Log("New line");
  54.                                                         }
  55.                                                         logger.Log("word: " + iter.GetText(PageIteratorLevel.Word));
  56.                                                     }
  57.                                                 } while (iter.Next(PageIteratorLevel.TextLine, PageIteratorLevel.Word));
  58.                                             }
  59.                                         }
  60.                                         i++;
  61.                                     } while (iter.Next(PageIteratorLevel.Para, PageIteratorLevel.TextLine));
  62.                                 }
  63.                             }
  64.                         }
  65.                     }
  66.                 }
  67.                 sw.Close();
  68.             }
  69.             catch (Exception e)
  70.             {
  71.                 Trace.TraceError(e.ToString());
  72.                 Console.WriteLine("Unexpected Error: " + e.Message);
  73.                 Console.WriteLine("Details: ");
  74.                 Console.WriteLine(e.ToString());
  75.             }
  76.             Console.Write("Press any key to continue . . . ");
  77.             Console.ReadKey(true);
  78.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement