Entwickler-Ecke
WinForms - Tesseract
Flop - Di 21.12.10 15:35
Titel: Tesseract
Ich wollte ein kleines OCR Programm schreiben das auf der Tesseract lib. besteht.
Ich mache ein Screen Shot von einem bestimmten Berreich. Den speicher ich als .tiff Bilddatei für Tesseract ab.
Soweit sogut.
SchreenShot: (Kein Problem funktioniert super)
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| private Bitmap CreateScreenshot(int left, int top, int width, int height) { try { Bitmap delete = new Bitmap("c:\\testpng.png"); delete.Dispose(); GC.Collect(); File.Delete("c:\\testpng.png"); } catch { } Bitmap bmp = new Bitmap(width, height); Graphics g = Graphics.FromImage(bmp); g.CopyFromScreen(left, top, 0, 0, new Size(width, height)); g.Dispose(); bmp.Save("c:\\testpng.png"); System.Drawing.Bitmap.FromFile("c:\\testpng.png").Save("c:\\test.tif", System.Drawing.Imaging.ImageFormat.Tiff); return bmp; } |
Scan: (Total für den *****)
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| Bitmap scan = new Bitmap("eurotext.tif"); tessnet2.Tesseract ocr = new tessnet2.Tesseract(); ocr.SetVariable("tessedit_char_whitelist", "0123456789"); ocr.Init(@"c:\temp", "fra", false); List<tessnet2.Word> result = ocr.DoOCR(scan, Rectangle.Empty); foreach (tessnet2.Word word in result) { Console.WriteLine("{0} : {1}", word.Confidence, word.Text); } |
Die ausgabe bei Console.Writline erstmal ignorieren ;)
Bekomme ständig fehlermeldungen mit fehlenden quellen.
Die Tesseract.dll hab ich hinzugefügt.
Aber es fehlen mir noch angeblich viele .h Dateien.
Trashkid2000 - Mi 22.12.10 09:53
Hallo,
bei der dll, die Du eingebunden hast und im Code benutzt, redest Du von Tessnet2, dem C#-Wrapper für tesseract, oder? Hatte mich auch mal daran probiert, aber bei mir ist das Programm dann immer deim Aufruf von "Init" abgestürzt, ohne jegliche Fehlermeldung. Wo bekommst Du denn die Fehlermeldungen? Die andere Sache ist auch noch, dass dieser Wrapper die Version 2 von tesseract nutzt, und nun schon die Version 3.0 draussen ist.
Vielleicht hilft es Dir ja, wenn Du die Tesseract.exe per Process startest, und dann den Text, der dort ausgespuckt wird weiter verarbeitest. Nur so ne Idee. Es gibt dazu schon einen Post, suche einfach mal nach tesseract.
LG, Marko
Flop - Mi 22.12.10 18:43
Es ist ja indirekt eine Fehlermeldung.
Bei
ocr.SetVariable("tessedit_char_whitelist", "0123456789");
sagt er mit das quellen fehlen wie z.B. varable.h . Ich finde diese aber niergendswo. Nichtmal bei google.
Also um mal zu sagen, wieso ich das eigentlich brauche:
Auf Facebook gibt es dieses noch recht junge spiel "Herausforderung der Städte".
Ich wollte dafür ein Bot schreiben der die Städte Namen ausließt und die jeweiligen koordinaten anklickt.
Das auslesen wollte ich mit OCR machen.
Auf youtube gibt es schon einen sehr sehr guten und schnellen bot. Ohne OCR.
http://www.youtube.com/watch?v=_6pLHEEA_BU
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!