Exemplo n.º 1
0
        static void Main(string[] args)
        {
            string imgPath = "";

            //=== 電話號碼圖片 ===
            var Ocr = new AdvancedOcr()
            {
                CleanBackgroundNoise             = false,
                EnhanceContrast                  = true,
                EnhanceResolution                = false,
                Language                         = IronOcr.Languages.English.OcrLanguagePack,
                Strategy                         = IronOcr.AdvancedOcr.OcrStrategy.Advanced,
                ColorSpace                       = AdvancedOcr.OcrColorSpace.Color,
                DetectWhiteTextOnDarkBackgrounds = false,
                InputImageType                   = AdvancedOcr.InputTypes.AutoDetect,
                RotateAndStraighten              = false,
                ReadBarCodes                     = false,
                ColorDepth                       = 0
            };

            imgPath = "../../img/image1.gif"; //因為執行檔EXE在BIN底下,所以相對的圖檔要這樣寫
            Console.Write(Path.GetFileName(imgPath) + " text is : ");
            Console.WriteLine(Ocr.Read(imgPath).Text);

            //=== 中文地址圖片 ===
            Ocr.EnhanceContrast   = false;
            Ocr.EnhanceResolution = true;
            Ocr.Language          = IronOcr.Languages.ChineseTraditional.OcrLanguagePack;

            imgPath = "../../img/image2.gif";
            Console.Write(Path.GetFileName(imgPath) + " text is : ");
            Console.WriteLine(Ocr.Read(imgPath).Text);

            //=== 驗證碼圖片 ===
            Ocr.CleanBackgroundNoise = true;
            Ocr.EnhanceContrast      = true;
            Ocr.EnhanceResolution    = true;
            Ocr.Language             = IronOcr.Languages.English.OcrLanguagePack;
            Ocr.InputImageType       = AdvancedOcr.InputTypes.Snippet;
            Ocr.RotateAndStraighten  = true;
            Ocr.ColorDepth           = 4;

            imgPath = "../../img/image3.png";
            Console.Write(Path.GetFileName(imgPath) + " text is : ");
            Console.WriteLine(Ocr.Read(imgPath).Text);

            Console.ReadKey();
        }
Exemplo n.º 2
0
        static string GetVpnbookPassword()
        {
            Console.WriteLine("Retrieving captcha image");
            string domain     = "http://www.vpnbook.com/";
            var    scraper    = new ScraperApp.ScraperWebClient(false);
            var    strVpnbook = scraper.DownloadString(domain);
            CQ     dom        = strVpnbook;

            var imagePath = domain + dom.Find("strong:contains('Password:'******':' }, StringSplitOptions.RemoveEmptyEntries).Last().Trim();

            return(password);
        }
Exemplo n.º 3
0
        public string AddDocumentToFulltext(string id)
        {
            string file = SimpleServerExtensionMethods.GetFilePath(id);

            var ocr = new AdvancedOcr()
            {
                CleanBackgroundNoise             = true,
                EnhanceContrast                  = true,
                EnhanceResolution                = true,
                Language                         = IronOcr.Languages.German.OcrLanguagePack,
                Strategy                         = IronOcr.AdvancedOcr.OcrStrategy.Advanced,
                ColorSpace                       = AdvancedOcr.OcrColorSpace.Color,
                DetectWhiteTextOnDarkBackgrounds = true,
                InputImageType                   = AdvancedOcr.InputTypes.AutoDetect,
                RotateAndStraighten              = true,
                ReadBarCodes                     = false,
                ColorDepth                       = 4
            };

            var results = ocr.Read(file);

            _saveFullText(file, results.Text);

            return(results.Text);
        }
Exemplo n.º 4
0
        public static void ConvertImageToTextIron()
        {
            var Ocr = new AdvancedOcr()
            {
                CleanBackgroundNoise             = false,
                EnhanceContrast                  = true,
                EnhanceResolution                = false,
                Strategy                         = IronOcr.AdvancedOcr.OcrStrategy.Advanced,
                ColorSpace                       = AdvancedOcr.OcrColorSpace.Color,
                DetectWhiteTextOnDarkBackgrounds = false,
                InputImageType                   = AdvancedOcr.InputTypes.Document,
                RotateAndStraighten              = false,
                ReadBarCodes                     = false,
                ColorDepth                       = 4
            };

            //Person restoredPerson = await JsonSerializer.DeserializeAsync<Person>(fs);
            //Console.WriteLine($"Name: {restoredPerson.Name}  Age: {restoredPerson.Age}");
            // Ocr.Language = IronOcr.Languages.English.OcrLanguagePack;
            Ocr.Language = new IronOcr.Languages.MultiLanguage(IronOcr.Languages.English.OcrLanguagePack, IronOcr.Languages.Russian.OcrLanguagePack);
            /*new IronOcr.Languages.MultiLanguage(IronOcr.Languages.English.OcrLanguagePack, IronOcr.Languages.Russian.OcrLanguagePack);*/
            Image img     = Clipboard.GetImage();
            var   results = Ocr.Read(img);

            Console.WriteLine(results.ToString());
            Clipboard.SetText(results.ToString());
        }
Exemplo n.º 5
0
 private void ocrToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         CommonOpenFileDialog cofd = new CommonOpenFileDialog();
         cofd.IsFolderPicker          = false;
         cofd.AllowNonFileSystemItems = true;
         cofd.Multiselect             = false;
         if (cofd.ShowDialog() == CommonFileDialogResult.Ok)
         {
             var Ocr = new AdvancedOcr()
             {
                 Language = IronOcr.Languages.ChineseSimplified.OcrLanguagePack,
             };
             Ocr.CleanBackgroundNoise             = false;
             Ocr.DetectWhiteTextOnDarkBackgrounds = false;
             Ocr.EnhanceContrast     = false;
             Ocr.RotateAndStraighten = false;
             Ocr.Strategy            = AdvancedOcr.OcrStrategy.Fast;
             var Result = Ocr.Read(cofd.FileName);
             MessageBox.Show(Result.Text);
         }
     }
     catch (Exception exception)
     {
         MessageBox.Show(exception.Message);
     }
 }
Exemplo n.º 6
0
        public string GetNumbersFromBitmap(Bitmap bmp)
        {
            var Ocr = new AdvancedOcr()
            {
                CleanBackgroundNoise  = false,
                EnhanceContrast       = false,
                EnhanceResolution     = false,
                AcceptedOcrCharacters = "0123456789",
                Language   = IronOcr.Languages.English.OcrLanguagePack,
                Strategy   = IronOcr.AdvancedOcr.OcrStrategy.Advanced,
                ColorSpace = AdvancedOcr.OcrColorSpace.GrayScale,
                DetectWhiteTextOnDarkBackgrounds = true,
                InputImageType      = AdvancedOcr.InputTypes.AutoDetect,
                RotateAndStraighten = false,
                ReadBarCodes        = false,
                ColorDepth          = 0
            };

            Ocr.AcceptedOcrCharacters = "0123456789";
            var Result = Ocr.Read(bmp);

            //debug shit
            bmp.Save(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\testScreen.bmp");

            return(Result.Text);
        }
Exemplo n.º 7
0
        private static Question GetQuestion(Bitmap bitmap)
        {
            Question question = new Question
            {
                Bitmap = bitmap.Clone(new Rectangle(10, 250, 730, 275), bitmap.PixelFormat)
            };

            question.Bitmap.ToBlackWhite(blackWhiteConvertGradeForQuestion);
            question.Bitmap.Save(imageFilePath.Split('.')[0] + "_Q.png");
            AdvancedOcr advancedOcr = new AdvancedOcr()
            {
                Language = Turkish.OcrLanguagePack,
            };

            question.Text = advancedOcr.Read(question.Bitmap).Text;

            int indexOfQuestionMark = question.Text.IndexOf('?');

            if (indexOfQuestionMark != -1)
            {
                question.Text = question.Text.Remove(indexOfQuestionMark);
            }

            question.Text = question.Text.Replace(Environment.NewLine, " ");
            Question.ExcludeCharacterList.ForEach(str => question.Text = question.Text.Replace(str, string.Empty));
            question.Text = question.Text.TrimStart().TrimEnd().ToLower();
            Console.WriteLine(question.Text + Environment.NewLine);
            return(question);
        }
Exemplo n.º 8
0
        private void ReadCroppedImage(int x, int y, int width, int height, OcrLanguage language, TextBox textBox)
        {
            var CropArea = new Rectangle(x, y, width, height);

            var advancedOcr = new AdvancedOcr()
            {
                CleanBackgroundNoise             = true,
                EnhanceContrast                  = true,
                EnhanceResolution                = true,
                Strategy                         = AdvancedOcr.OcrStrategy.Advanced,
                ColorSpace                       = AdvancedOcr.OcrColorSpace.Color,
                DetectWhiteTextOnDarkBackgrounds = true,
                InputImageType                   = AdvancedOcr.InputTypes.AutoDetect,
                RotateAndStraighten              = true,
                ReadBarCodes                     = false,
                ColorDepth                       = 4
            };

            if (language == OcrLanguage.English)
            {
                advancedOcr.Language = IronOcr.Languages.English.OcrLanguagePack;
            }

            if (language == OcrLanguage.Japanese)
            {
                advancedOcr.Language = IronOcr.Languages.Japanese.OcrLanguagePack;
            }

            var results = advancedOcr.Read(FilePath, CropArea);

            textBox.Text = results.Text;
        }
Exemplo n.º 9
0
 public static string ExecuteOCR(Bitmap image)
 {
     try
     {
         var Ocr = new AdvancedOcr()
         {
             CleanBackgroundNoise             = false,
             EnhanceContrast                  = false,
             EnhanceResolution                = false,
             Language                         = IronOcr.Languages.English.OcrLanguagePack,
             Strategy                         = IronOcr.AdvancedOcr.OcrStrategy.Fast,
             ColorSpace                       = AdvancedOcr.OcrColorSpace.Color,
             DetectWhiteTextOnDarkBackgrounds = false,
             InputImageType                   = AdvancedOcr.InputTypes.Snippet,
             RotateAndStraighten              = false,
             ReadBarCodes                     = false,
             ColorDepth                       = 2
         };
         return(Ocr.Read(image).Text);
     }
     catch (Exception)
     {
         Console.WriteLine("Trial popUp, please rescan your plants.");
         return(string.Empty);
     }
 }
Exemplo n.º 10
0
        public static string GetValidateCode(Bitmap img)
        {
            Log.log.Info("Getting validateCode from image");
            OcrResult Results = null;

            try
            {
                Threshold(ref img, 100);
                var Ocr = new AdvancedOcr()
                {
                    Language = IronOcr.Languages.English.OcrLanguagePack
                };
                Results = Ocr.Read(img);
            } catch (Exception e)
            {
                MessageBox.Show("图片为空");
            }
            if (Results != null)
            {
                return(Results.Text);
            }
            else
            {
                return("");
            }
        }
Exemplo n.º 11
0
        static void Main(string[] args)
        {
            string filePath = @"C:\Users\jan.bujanowski\Downloads\lol1contr2.jpg";
            string url      = @"";
            bool   rotate   = false;
            // acceptable ironocr
            var Ocr = new AdvancedOcr()
            {
                AcceptedOcrCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.:;?!@$%&+-,-()\"'0123456789",
                CleanBackgroundNoise  = false,
                ColorDepth            = 0,
                ColorSpace            = AdvancedOcr.OcrColorSpace.Color,
                EnhanceContrast       = false,
                EnhanceResolution     = false,
                Language = IronOcr.Languages.English.OcrLanguagePack,
                Strategy = IronOcr.AdvancedOcr.OcrStrategy.Advanced,
                DetectWhiteTextOnDarkBackgrounds = false,
                InputImageType      = AdvancedOcr.InputTypes.Snippet,
                RotateAndStraighten = true,
                ReadBarCodes        = false
            };
            List <Rectangle> captchaElementAreas = new List <Rectangle>();
            var stream = WebRequest.Create(url).GetResponse().GetResponseStream();
            var bitmap = new Bitmap(stream);

            bitmap = SetContrast(bitmap, 30);
            StringBuilder sb = new StringBuilder();

            if (rotate)
            {
                bitmap.RotateFlip(RotateFlipType.Rotate180FlipNone);
                captchaElementAreas.Add(new Rectangle(0, 0, 420, 210));
                captchaElementAreas.Add(new Rectangle(620, 0, 360, 240));
                captchaElementAreas.Add(new Rectangle(320, 230, 380, 170));
                captchaElementAreas.Add(new Rectangle(0, 380, 380, 200));
                captchaElementAreas.Add(new Rectangle(690, 410, 390, 190));
            }
            else
            {
                var startY = 450;
                var width  = 460;
                var height = 200;
                captchaElementAreas.Add(new Rectangle(30, startY, width, height));
                captchaElementAreas.Add(new Rectangle(620, startY, width, height));
                captchaElementAreas.Add(new Rectangle(320, 670, width, height));
                captchaElementAreas.Add(new Rectangle(0, 870, width, height));
                captchaElementAreas.Add(new Rectangle(690, 880, width - 20, height - 20));
            }

            for (int i = 0; i < 5; i++)
            {
                var Result = Ocr.Read(bitmap, captchaElementAreas[i]);
                sb.Append(Result.Text + "-");
                Console.WriteLine(Result.Text);
            }
            File.WriteAllText(@"C:\REPOS\XboxOcr\captchainput.txt", sb.ToString());
            Console.WriteLine("koniec");
            Console.ReadLine();
        }
        public ActionResult CodeQr(string txtQRCode)
        {
            ViewBag.txtQRCode = txtQRCode;
            QRCodeGenerator qrGenerator = new QRCodeGenerator();
            QRCodeData      qrCodeData  = qrGenerator.CreateQrCode(txtQRCode, QRCodeGenerator.ECCLevel.Q);
            QRCode          qrCode      = new QRCode(qrCodeData);

            System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image();
            imgBarCode.Height = 50;
            imgBarCode.Width  = 50;
            string uniqueId   = Guid.NewGuid().ToString("N");
            string filename   = string.Format("{0}.{1}", uniqueId, "png");
            var    serverpath = Server.MapPath(string.Format("{0}{1}", "~/doc/", filename));

            using (Bitmap bitMap = qrCode.GetGraphic(20))
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    using (FileStream fs = new FileStream(serverpath, FileMode.Create, FileAccess.ReadWrite))
                    {
                        bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                        byte[] bytes = ms.ToArray();
                        fs.Write(bytes, 0, bytes.Length);
                        ViewBag.imageBytes = bytes;
                    }
                    //imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage);
                }
            }
            var Ocr = new AdvancedOcr()
            {
                CleanBackgroundNoise             = true,
                EnhanceContrast                  = true,
                EnhanceResolution                = true,
                Language                         = IronOcr.Languages.English.OcrLanguagePack,
                Strategy                         = IronOcr.AdvancedOcr.OcrStrategy.Advanced,
                ColorSpace                       = AdvancedOcr.OcrColorSpace.Color,
                DetectWhiteTextOnDarkBackgrounds = true,
                InputImageType                   = AdvancedOcr.InputTypes.AutoDetect,
                RotateAndStraighten              = true,
                ReadBarCodes                     = true,
                ColorDepth                       = 4
            };
            var testImage = serverpath;
            var Results   = Ocr.Read(testImage);
            var Barcodes  = Results.Barcodes.Select(b => b.Value);

            ViewBag.qrcode = string.Format("Texte : {0} Barcodes: {1}", Results.Text, String.Join(",", Barcodes));
            InformationViewModel informationViewModel = new InformationViewModel()
            {
                CodeQr      = uniqueId,
                Name        = "Stratège Takam",
                CodeQrPath  = filename,
                Title       = "Informations de retrait de la carte national d'idendité",
                Description = "Pour retirer votre coli, vous vous servirai soit du code QR soit du numéro du code "
            };

            return(View(informationViewModel));
        }
        private async Task <string> WeaponImageToString(Image img)
        {
            var result = "";

            try
            {
                using (var db = GetAdjustedDirectBitmapOfImage(img, this._brightnessAdj))
                {
                    var hashCode = db.GetHashCode();
                    if (ResultCache.TryGetValue(hashCode, out result))
                    {
                        if (!result.Empty())
                        {
                            ResultCache.ScoreHit(hashCode);
                        }
                        return(result);
                    }

                    this._logger?.SaveImage(img);
                    var img2 = db.ToBitmap();
                    this._logger?.SaveImage(img2, "adj");
                    var pixelsCoefficient = db.GetMeaningfulPixelsCoefficient;
                    if (pixelsCoefficient < 0.6 && pixelsCoefficient > 0.01)
                    {
                        await Task.Delay(1500);

                        var ocr = new AdvancedOcr
                        {
                            CleanBackgroundNoise             = true,
                            EnhanceContrast                  = true,
                            EnhanceResolution                = true,
                            Language                         = IronOcr.Languages.English.OcrLanguagePack,
                            Strategy                         = AdvancedOcr.OcrStrategy.Advanced,
                            ColorSpace                       = AdvancedOcr.OcrColorSpace.GrayScale,
                            DetectWhiteTextOnDarkBackgrounds = false,
                            InputImageType                   = AdvancedOcr.InputTypes.Snippet,
                            RotateAndStraighten              = false,
                            ReadBarCodes                     = false,
                            ColorDepth                       = 8
                        };
                        var res = ocr.Read(img2);
                        result = res.Text.ToUpper();
                        this._logger?.SaveRecognitionInfo(result);
                    }

                    ResultCache.Add(db.GetHashCode(), result);
                    ResultCache.SaveToFile(OcrCacheFile);
                }
            }
            catch
            {
                //ignore
            }

            return(result);
        }
Exemplo n.º 14
0
        protected void Button3_Click(object sender, EventArgs e)
        {
            Label3.Text = " ";
            if (FileUpload1.HasFile)
            {
                string ext = System.IO.Path.GetExtension(FileUpload1.FileName);//uzantı
                if (ext != ".jpg" && ext != ".png" && ext != ".jpeg")
                {
                    Label3.Text = "Geçersiz dosya";
                    return;
                }

                string path = Server.MapPath("/image/");
                FileUpload1.SaveAs(path + FileUpload1.FileName);

                //https://ironsoftware.com/csharp/ocr/ Alıntı

                var Ocr = new AdvancedOcr()
                {
                    CleanBackgroundNoise             = true,
                    EnhanceContrast                  = true,
                    EnhanceResolution                = true,
                    Language                         = IronOcr.Languages.Turkish.OcrLanguagePack,
                    Strategy                         = IronOcr.AdvancedOcr.OcrStrategy.Advanced,
                    ColorSpace                       = AdvancedOcr.OcrColorSpace.Color,
                    DetectWhiteTextOnDarkBackgrounds = true,
                    InputImageType                   = AdvancedOcr.InputTypes.Document,
                    RotateAndStraighten              = true,
                    ReadBarCodes                     = true,
                    ColorDepth                       = 4
                };
                var Result = Ocr.Read(path + FileUpload1.FileName);
                Label3.Text = Result.Text;

                String[] kelime = Result.Text.Split(' ', '\n', '\r', '"');
                int      a      = 0;
                for (int i = 0; i < kelime.Length; i++)
                {
                    if (kelime[i] == "ISBN" || kelime[i] == "ısbn" || kelime[i] == "|SBN")
                    {
                        Label3.Text   = kelime[i + 1];
                        TextBox2.Text = kelime[i + 1];
                        a             = 1;
                    }
                }
                if (a == 0)
                {
                    Label3.Text = "ISBN bulunamadı";
                }
            }
            else
            {
                Label3.Text = "Dosya seçimi yapmadınız";
                return;
            }
        }
Exemplo n.º 15
0
        public static OcrResult OcrImage(Image image)
        {
            AdvancedOcr ocr = new AdvancedOcr();

            ocr.ReadBarCodes = false;
            ocr.Strategy     = AdvancedOcr.OcrStrategy.Advanced;
            ocr.DetectWhiteTextOnDarkBackgrounds = true;
            ocr.AcceptedOcrCharacters            = acceptedCharacters;
            return(ocr.Read(image));
        }
        private void Process_Button_Click(object sender, RoutedEventArgs e)
        {
            string str_Selected_Language;

            if (path_File == null || path_File == "" || cmb_SelectLanguage.SelectedIndex == 0)
            {
                MessageBox.Show(" File or Langauge not selected ");
            }
            else
            {
                ComboBoxItem Selected_Language = (ComboBoxItem)cmb_SelectLanguage.SelectedItem;
                str_Selected_Language = Selected_Language.Content.ToString();
                //Duration duration = new Duration(TimeSpan.FromSeconds(20));
                //DoubleAnimation doubleanimation = new DoubleAnimation(150.0, duration);
                //PBar.BeginAnimation(ProgressBar.ValueProperty, doubleanimation);

                switch (str_Selected_Language)
                {
                case "Hebrew":
                {
                    var Ocr_Hebrew = new AdvancedOcr()
                    {
                        CleanBackgroundNoise = true,
                        EnhanceContrast      = true,
                        EnhanceResolution    = true,
                        Language             = IronOcr.Languages.Hebrew.OcrLanguagePack,
                        //Language = IronOcr.Languages.English.OcrLanguagePack,
                        Strategy   = IronOcr.AdvancedOcr.OcrStrategy.Advanced,
                        ColorSpace = AdvancedOcr.OcrColorSpace.Color,
                        DetectWhiteTextOnDarkBackgrounds = true,
                        InputImageType      = AdvancedOcr.InputTypes.AutoDetect,
                        RotateAndStraighten = false,
                        ReadBarCodes        = false,
                        ColorDepth          = 4
                    }; var Result = Ocr_Hebrew.Read(path_File); txtBigText.TextAlignment = TextAlignment.Right; cls_PhoneNum.ProgressBar(PBar); txtBigText.Text = Result.Text;
                }
                break;

                case "English":
                {
                    var Ocr_English = new AutoOcr()
                    {
                        Language = IronOcr.Languages.English.OcrLanguagePack,
                    };
                    var Result = Ocr_English.Read(path_File);
                    txtBigText.TextAlignment = TextAlignment.Left; txtBigText.Text = Result.Text;
                }
                break;
                }
                cls_PhoneNum.text = txtBigText.Text;    txtPhones.Text = cls_PhoneNum.Digits(txtBigText.Text);
            }
        }
Exemplo n.º 17
0
        private void OcrScan()
        {
            AdvancedOcr  advancedOcr  = new AdvancedOcr();
            DialogResult dialogResult = ofs_Ocr.ShowDialog();

            if (dialogResult == DialogResult.OK)
            {
                var          ocrResult            = advancedOcr.Read(ImageFilePath: ofs_Ocr.FileName);
                DialogResult saveFileDialogResult = sfd_Text.ShowDialog();
                if (saveFileDialogResult == DialogResult.OK)
                {
                    using (StreamWriter streamWriter = new StreamWriter(sfd_Text.FileName))
                    {
                        streamWriter.Write(ocrResult);
                    }
                }
            }
        }
Exemplo n.º 18
0
        private static Boolean checkErrorMessage(string imagePath)
        {
            Boolean hasError = false;

            /*
             * Console.WriteLine("Checking for error messages...");
             * AutoOcr Ocr = new AutoOcr();
             * OcrResult result = Ocr.Read(imagePath);
             * Console.WriteLine("Result:");
             * Console.WriteLine(result.Text);
             */

            AdvancedOcr OcrAdvanced = new AdvancedOcr()
            {
                CleanBackgroundNoise             = false,
                EnhanceContrast                  = false,
                EnhanceResolution                = false,
                Language                         = IronOcr.Languages.English.OcrLanguagePack,
                Strategy                         = IronOcr.AdvancedOcr.OcrStrategy.Advanced,
                ColorSpace                       = AdvancedOcr.OcrColorSpace.Color,
                DetectWhiteTextOnDarkBackgrounds = true,
                InputImageType                   = AdvancedOcr.InputTypes.AutoDetect,
                RotateAndStraighten              = false,
                ReadBarCodes                     = false,
                ColorDepth                       = 4
            };
            OcrResult result = OcrAdvanced.Read(imagePath);

            Console.WriteLine(result.Text);

            String[] errorTerms = new string[] { "File", "Edit", "Home", "Tools" };
            String   resultStr  = result.Text;

            foreach (String badTerm in errorTerms)
            {
                if (resultStr.Contains(badTerm))
                {
                    Console.WriteLine("detected error message with term: " + badTerm);
                    hasError = true;
                }
            }

            return(hasError);
        }
Exemplo n.º 19
0
        OcrResult DoAdvancedOcr(Bitmap bitmap)
        {
            var Ocr = new AdvancedOcr()
            {
                CleanBackgroundNoise             = true,
                EnhanceContrast                  = true,
                EnhanceResolution                = true,
                Language                         = IronOcr.Languages.English.OcrLanguagePack,
                Strategy                         = IronOcr.AdvancedOcr.OcrStrategy.Advanced,
                ColorSpace                       = AdvancedOcr.OcrColorSpace.GrayScale,
                DetectWhiteTextOnDarkBackgrounds = false,
                InputImageType                   = AdvancedOcr.InputTypes.AutoDetect,
                RotateAndStraighten              = false,
                ReadBarCodes                     = false,
                ColorDepth                       = 4
            };

            return(Ocr.Read(bitmap));
        }
Exemplo n.º 20
0
        public OcrResult ReadText(Image img)
        {
            var Ocr = new AdvancedOcr()
            {
                CleanBackgroundNoise             = false,
                EnhanceContrast                  = false,
                EnhanceResolution                = false,
                Language                         = IronOcr.Languages.English.OcrLanguagePack,
                Strategy                         = IronOcr.AdvancedOcr.OcrStrategy.Fast,
                ColorSpace                       = AdvancedOcr.OcrColorSpace.GrayScale,
                DetectWhiteTextOnDarkBackgrounds = false,
                InputImageType                   = AdvancedOcr.InputTypes.AutoDetect,
                RotateAndStraighten              = true,
                ReadBarCodes                     = false,
                ColorDepth                       = 4
            };

            var result = Ocr.Read(img);

            return(result);
        }
Exemplo n.º 21
0
        private void button1_Click(object sender, EventArgs e)
        {
            var Ocr = new AdvancedOcr()
            {
                Language                         = IronOcr.Languages.Portuguese.OcrLanguagePack,
                ColorSpace                       = AdvancedOcr.OcrColorSpace.GrayScale,
                EnhanceResolution                = true,
                EnhanceContrast                  = true,
                CleanBackgroundNoise             = true,
                ColorDepth                       = 4,
                RotateAndStraighten              = false,
                DetectWhiteTextOnDarkBackgrounds = false,
                ReadBarCodes                     = false,
                Strategy                         = AdvancedOcr.OcrStrategy.Fast,
                InputImageType                   = AdvancedOcr.InputTypes.Document
            };

            OcrResult Result = Ocr.Read(@"C:\Temp\alexandre.png");

            textBox1.Text = Result.Text;
        }
Exemplo n.º 22
0
        public string GetEpisodeText()
        {
            var Ocr = new AdvancedOcr()
            {
                CleanBackgroundNoise  = false,
                EnhanceContrast       = false,
                EnhanceResolution     = false,
                AcceptedOcrCharacters = "0123456789",
                Language   = IronOcr.Languages.English.OcrLanguagePack,
                Strategy   = IronOcr.AdvancedOcr.OcrStrategy.Advanced,
                ColorSpace = AdvancedOcr.OcrColorSpace.GrayScale,
                DetectWhiteTextOnDarkBackgrounds = true,
                InputImageType      = AdvancedOcr.InputTypes.AutoDetect,
                RotateAndStraighten = false,
                ReadBarCodes        = false,
                ColorDepth          = 0
            };
            var Result = Ocr.Read(getEpisodeImage());

            return(Result.Text);
        }
        private static string WeaponImageToString(Image img)
        {
            var result = "";

            try
            {
                using (var db = GetAdjustedDirectBitmapOfImage(img))
                {
                    if (resultCache.TryGetValue(db.GetHashCode(), out result))
                    {
                        return(result);
                    }

                    var img2 = db.ToBitmap();
                    var ocr  = new AdvancedOcr
                    {
                        CleanBackgroundNoise             = true,
                        EnhanceContrast                  = true,
                        EnhanceResolution                = true,
                        Language                         = IronOcr.Languages.English.OcrLanguagePack,
                        Strategy                         = AdvancedOcr.OcrStrategy.Advanced,
                        ColorSpace                       = AdvancedOcr.OcrColorSpace.GrayScale,
                        DetectWhiteTextOnDarkBackgrounds = false,
                        InputImageType                   = AdvancedOcr.InputTypes.Snippet,
                        RotateAndStraighten              = false,
                        ReadBarCodes                     = false,
                        ColorDepth                       = 8
                    };
                    var res = ocr.Read(img2);
                    result = res.Text.ToUpper();
                    resultCache.Add(db.GetHashCode(), result);
                }
            }
            catch
            {
                //ignore
            }

            return(result);
        }
        public static void Example2A()
        {
            // Advanced OCR with Low Quality Scanned Input
            var Ocr = new AdvancedOcr()
            {
                CleanBackgroundNoise             = true,
                EnhanceContrast                  = true,
                EnhanceResolution                = true,
                Language                         = IronOcr.Languages.English.OcrLanguagePack,
                Strategy                         = IronOcr.AdvancedOcr.OcrStrategy.Advanced,
                ColorSpace                       = AdvancedOcr.OcrColorSpace.GrayScale,
                DetectWhiteTextOnDarkBackgrounds = false,
                InputImageType                   = AdvancedOcr.InputTypes.Document,
                RotateAndStraighten              = true,
                ReadBarCodes                     = false,
                ColorDepth                       = 4
            };

            var Results = Ocr.Read("img/Potter.LowQuality.tiff");

            Accuracy.Compare(Results, "txt/Example2.txt");
        }
Exemplo n.º 25
0
        private void button2_Click(object sender, EventArgs e)
        {
            var Ocr = new AdvancedOcr()
            {
                CleanBackgroundNoise             = true,
                EnhanceContrast                  = true,
                EnhanceResolution                = true,
                Language                         = IronOcr.Languages.ChineseSimplified.OcrLanguagePack,
                Strategy                         = IronOcr.AdvancedOcr.OcrStrategy.Advanced,
                ColorSpace                       = AdvancedOcr.OcrColorSpace.Color,
                DetectWhiteTextOnDarkBackgrounds = true,
                InputImageType                   = AdvancedOcr.InputTypes.AutoDetect,
                RotateAndStraighten              = true,
                ReadBarCodes                     = true,
                ColorDepth                       = 4
            };

            //var Ocr = new IronOcr.AutoOcr();
            var Result = Ocr.Read(Mtext.Text);

            richTextBox.Text = Result.Text;
        }
        //Test programm
        private void OCRLibrary()
        {
            var Ocr = new AdvancedOcr()
            {
                Language                         = MultiLanguage.OcrLanguagePack(Russian.OcrLanguagePack, English.OcrLanguagePack),
                ColorSpace                       = AdvancedOcr.OcrColorSpace.GrayScale,
                EnhanceResolution                = true,
                EnhanceContrast                  = true,
                CleanBackgroundNoise             = true,
                ColorDepth                       = 4,
                RotateAndStraighten              = false,
                DetectWhiteTextOnDarkBackgrounds = false,
                ReadBarCodes                     = false,
                Strategy                         = AdvancedOcr.OcrStrategy.Fast,
                InputImageType                   = AdvancedOcr.InputTypes.Snippet
            };

            foreach (var imagePath in imagesList)
            {
                var results = Ocr.Read(imagePath);
                WriteToFileResultSecondStart(imagePath, results.Text);
            }
        }
Exemplo n.º 27
0
        public string imagepro(string path)
        {
            var ocr = new AdvancedOcr()
            {
                CleanBackgroundNoise             = false,
                EnhanceContrast                  = false,
                EnhanceResolution                = false,
                Language                         = IronOcr.Languages.English.OcrLanguagePack,
                Strategy                         = IronOcr.AdvancedOcr.OcrStrategy.Fast,
                ColorSpace                       = AdvancedOcr.OcrColorSpace.GrayScale,
                DetectWhiteTextOnDarkBackgrounds = false,
                InputImageType                   = AdvancedOcr.InputTypes.Document,
                RotateAndStraighten              = false,
                ReadBarCodes                     = false,
                ColorDepth                       = 4
            };


            var Resualts = ocr.Read(path);

            Console.WriteLine(Resualts.Text);
            return(Resualts.Text);
        }
Exemplo n.º 28
0
        static void Main(string[] args)
        {
            ImageMaker imgMkr = new ImageMaker();
            var        ocr    = new AdvancedOcr();
            List <ComparisionResult> compList = new List <ComparisionResult>();
            string pathInput  = @"C:/Users/pranav/source/repos/TestAppConsole/OCR_Demo/input/abcd.png";
            var    characters = ocr.Read(pathInput);

            Console.WriteLine(characters.Text);
            Image img = Image.FromFile(pathInput);
            //GetHash(new Bitmap(img));
            // source
            var sourceTextImages = imgMkr.TextImage();

            string[] filePaths = Directory.GetFiles(@"C:/Users/pranav/source/repos/TestAppConsole/OCR_Demo/Source/");
            foreach (var srcImg in sourceTextImages)
            {
                ComparisionResult cr = new ComparisionResult();

                //Image sourceImg = Image.FromFile(path);
                var score = CompareImages(new Bitmap(img), new Bitmap(srcImg));
                cr.Input = pathInput.Replace("C:/Users/pranav/source/repos/TestAppConsole/OCR_Demo/input/", "");
                //cr.Source = path.Replace("C:/Users/pranav/source/repos/TestAppConsole/OCR_Demo/Source/", "");
                cr.Source = ((ImageTag)srcImg.Tag).ImgTag;
                cr.Score  = score;
                compList.Add(cr);
            }
            var res = compList.OrderByDescending(o => o.Score).ToList();

            foreach (var item in compList)
            {
                Console.WriteLine(item.Input + " " + item.Source + " " + item.Score);
            }

            Console.ReadKey();
        }
Exemplo n.º 29
0
        public static void Main(string[] args)
        {
            string ImageFilePath = string.Empty;
            string LineFormat    = "{NUMBER} - {CHALLANGE NAME} </br>";

            Console.WriteLine("OUTPUT FILE NAME (WITH EXT.):");
            string OutputTextPath = Console.ReadLine();

            Console.WriteLine();

            Console.WriteLine($"ENTER LINE FORMATING (eg. {LineFormat}) (LEAVE EMPTY IF SINGLE LINE DOESNT HAVE '-'):");
            LineFormat = Console.ReadLine();


            Thread.Sleep(1000);
            Console.Clear();


            FolderBrowserDialog fbd = new FolderBrowserDialog();

            if (fbd.ShowDialog() == DialogResult.OK)
            {
                var path = fbd.SelectedPath;
                CenterWriteLine($"YOU SELECTED PATH: {path}"); // full path

                foreach (string file in Directory.GetFiles(path))
                {
                    if (Path.GetFileName(file) == "Crop_Areas.txt")
                    {
                        for (int i = 0; i < File.ReadAllLines(file).Length; i++)
                        {
                            if (i == 0)
                            {
                                ImageFilePath = File.ReadAllLines(file)[i].TrimEnd(':');
                                CenterWriteLine($"IMAGE PATH: {ImageFilePath}");
                            }
                            else
                            {
                                areas.Add(GetRectangleFromString(File.ReadAllLines(file)[i]));
                            }
                        }
                    }
                }

                Console.WriteLine();
                CenterWriteLine("================================================");
                CenterWriteLine("PROCESSING IMAGE... PLEASE WAIT!");
                CenterWriteLine("================================================");
                string alltext = string.Empty;

                foreach (Rectangle r in areas)
                {
                    var Ocr = new AdvancedOcr()
                    {
                        CleanBackgroundNoise             = false,
                        EnhanceContrast                  = true,
                        EnhanceResolution                = true,
                        Language                         = IronOcr.Languages.English.OcrLanguagePack,
                        Strategy                         = IronOcr.AdvancedOcr.OcrStrategy.Advanced,
                        ColorSpace                       = AdvancedOcr.OcrColorSpace.Color,
                        DetectWhiteTextOnDarkBackgrounds = false,
                        InputImageType                   = AdvancedOcr.InputTypes.Document,
                        RotateAndStraighten              = false,
                        ReadBarCodes                     = false,
                        ColorDepth                       = 4
                    };

                    var Results = Ocr.Read(ImageFilePath, r);

                    alltext += Results.Text + Environment.NewLine;
                }

                Console.WriteLine();
                CenterWriteLine("================================================");
                CenterWriteLine("PROCESSING IMAGE DONE!");
                CenterWriteLine("================================================");

                Thread.Sleep(500);

                Console.WriteLine();
                CenterWriteLine("================================================");
                CenterWriteLine("TEXT FORMATING STRATED!");
                CenterWriteLine("================================================");

                string[] lines = alltext.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);

                string final_text = string.Empty;

                foreach (string line in lines)
                {
                    if (!string.IsNullOrEmpty(line) && !string.IsNullOrWhiteSpace(line))
                    {
                        if (!string.IsNullOrEmpty(LineFormat))
                        {
                            string[] halfline = line.Split(new string[] { "-" }, 2, StringSplitOptions.None);
                            final_text += LineFormat.Replace("{NUMBER}", halfline[0]).Replace("{CHALLANGE NAME}", halfline[1]) + Environment.NewLine;
                        }
                        else
                        {
                            final_text += line + Environment.NewLine;
                        }
                    }
                }

                Console.WriteLine();
                CenterWriteLine("================================================");
                CenterWriteLine("TEXT FORMATING DONE!");
                CenterWriteLine($"SAVING IMAGE TO FILE (IN BASE DIRECTORY): {OutputTextPath}");
                CenterWriteLine("================================================");

                File.WriteAllText(Path.Combine(path, OutputTextPath), final_text);
            }
            else
            {
                Console.WriteLine("PATH NOT SELECTED!");
            }

            Console.ReadLine();
        }
Exemplo n.º 30
0
        private async void button1_Click(object sender, EventArgs e)
        {
            var dr = this.openFileDialog1.ShowDialog();

            if (dr != DialogResult.OK)
            {
                return;
            }
            var app = new Microsoft.Office.Interop.Word.Application();

            this.CreateDocument();
            var doc =
                app.Documents.Open(path);
            object missing  = System.Reflection.Missing.Value;
            var    filePath = new List <string>();

            foreach (var file in openFileDialog1.FileNames)
            {
                try
                {
                    filePath.Add(file);
                }
                catch (SecurityException ex)
                {
                    MessageBox.Show("Security error. Please contact your administrator for details.\n\n" +
                                    "Error message: " + ex.Message + "\n\n" +
                                    "Details (send to Support):\n\n" + ex.StackTrace
                                    );
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Cannot display the image: " + file.Substring(file.LastIndexOf('\\'))
                                    + ". You may not have permission to read the file, or " +
                                    "it may be corrupt.\n\nReported error: " + ex.Message);
                }
            }
            progressBar1.Maximum = 100;
            progressBar1.Step    = 1;

            var progress = new Progress <int>(v =>
            {
                progressBar1.Value = v;
            });

            await Task.Run(() => DoWork(progress));

            var ocr = new AdvancedOcr()
            {
                Language                         = IronOcr.Languages.Spanish.OcrLanguagePack,
                ColorSpace                       = AdvancedOcr.OcrColorSpace.GrayScale,
                EnhanceResolution                = true,
                EnhanceContrast                  = true,
                CleanBackgroundNoise             = true,
                ColorDepth                       = 4,
                RotateAndStraighten              = false,
                DetectWhiteTextOnDarkBackgrounds = false,
                ReadBarCodes                     = false,
                Strategy                         = AdvancedOcr.OcrStrategy.Fast,
                InputImageType                   = AdvancedOcr.InputTypes.Document
            };
            var result = ocr.Read(filePath);

            doc.Content.Text = result.Text;
            doc.Save();
            doc.Close(ref missing);
            app.Quit(ref missing);
            MessageBox.Show("Archivos procesados correctamente");
        }