diff --git a/OCR_Decode/DriverPositionWindow.cs b/OCR_Decode/DriverPositionWindow.cs index 84971e5..827c88d 100644 --- a/OCR_Decode/DriverPositionWindow.cs +++ b/OCR_Decode/DriverPositionWindow.cs @@ -15,7 +15,19 @@ namespace OCR_Decode } public override object DecodePng() { - return 0; + string result = GetStringFromPng(true); + + int position; + try + { + position = Convert.ToInt32(result); + } + catch + { + position = -1; + WindowImage.Save(Reader.DEBUG_DUMP_FOLDER + "FailedPosition"+".png"); + } + return position; } } } diff --git a/OCR_Decode/Window.cs b/OCR_Decode/Window.cs index 68c7858..92a9a34 100644 --- a/OCR_Decode/Window.cs +++ b/OCR_Decode/Window.cs @@ -137,10 +137,20 @@ namespace OCR_Decode page.Dispose(); return result; } - protected string GetStringFromPng() + protected string GetStringFromPng(bool onlyDigit = false) { string result = ""; + if (onlyDigit) + { + Engine.SetVariable("tessedit_char_whitelist", "0123456789"); + } + else + { + Engine.SetVariable("tessedit_char_whitelist", ""); + } + + Bitmap rawData = WindowImage; Bitmap enhancedImage = new OcrImage(rawData).Enhance();