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(); }
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); }
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); }
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()); }
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); } }
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); }
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); }
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; }
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); } }
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(""); } }
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); }
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; } }
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); } }
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); } } } }
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); }
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)); }
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); }
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; }
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"); }
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); } }
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); }
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(); }
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(); }
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"); }