OCR בעברית ב- C#ו- .NET

גרסאות אחרות של מסמך זה:

IronOCR הוא רכיב תוכנה C#המאפשר לקודדי .NET לקרוא טקסט מתמונות ומסמכי PDF בשפה 126, כולל עברית.

זהו מזלג מתקדם של Tesseract, שנבנה באופן בלעדי עבור מפתחי .NET ועולה בקביעות על מנועי Tesseract אחרים במהירות ובדיוק.

תוכן IronOcr.Languages.Hebrew

חבילה זו מכילה 108 שפות OCR עבור .NET:

  • עִברִית
  • עברית הטוב ביותר
  • עברית מהר
  • עברית אלפבית
  • עברית אלפבית הטוב ביותר
  • עברית Alfabet מהיר

הורד

חבילת שפה עברית [עברית]
* Download as רוכסן
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Hebrew/'> NuGet

הַתקָנָה

הדבר הראשון שעלינו לעשות הוא להתקין את חבילת ה- OCR העברית שלנו לפרויקט .NET שלך.

PM> Install-Package IronOCR.Languages.Hebrew

דוגמת קוד

דוגמת קוד C#זו קוראת טקסט בעברית ממסמך תמונה או PDF.

//PM> Install-Package IronOcr.Languages.Hebrew
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;
using (var Input = new OcrInput(@"images\Hebrew.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
//PM> Install-Package IronOcr.Languages.Hebrew
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;
using (var Input = new OcrInput(@"images\Hebrew.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
'PM> Install-Package IronOcr.Languages.Hebrew
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hebrew
Using Input = New OcrInput("images\Hebrew.png")
Dim Result = Ocr.Read(Input)
Dim AllText As Var = Result.Text
End Using
VB   C#

מדוע לבחור ב- IronOCR?

IronOCR היא ספריית תוכנת .NET קלה להתקנה, מלאה ומתועדת היטב.

בחר IronOCR כדי להשיג דיוק של 99.8% + OCR מבלי להשתמש בשירותי אינטרנט חיצוניים, בתשלומים שוטפים או בשליחת מסמכים חסויים דרך האינטרנט.

מדוע מפתחי C#בוחרים ב- IronOCR על פני Vanilla Tesseract:

  • התקן כ- DLL יחיד או כ- NuGet
  • כולל עבור מנועי Tesseract 5, 4 ו- 3 מהקופסה.
  • דיוק 99.8% עולה על Tesseract הרגיל באופן משמעותי.
  • מהירות בוהקת ורב-הברגה
  • תואם ל- MVC, WebApp, Desktop, Console & Server
  • אין Exes או C ++ קוד לעבוד איתו
  • תמיכה מלאה ב- PDF ב- OCR
  • כדי לבצע OCR כמעט כל קובץ תמונה או PDF
  • תמיכה מלאה ב-. Core Core, Standard ו- FrameWork
  • פרוס ב- Windows, Mac, Linux, Azure, Docker, Lambda, AWS
  • קרא ברקודים וקודי QR
  • ייצא OCR כמו ל- XHTML
  • ייצא OCR למסמכי PDF הניתנים לחיפוש
  • תמיכה בריבוי הליכי משנה
  • 126 שפות בינלאומיות מנוהלות באמצעות קבצי NuGet או OcrData
  • חלץ תמונות, קואורדינטות, סטטיסטיקה וגופנים. לא רק טקסט.
  • ניתן להשתמש בה להפצה מחודשת של Tesseract OCR בתוך יישומים מסחריים וקנייניים.

ברזל OCR זורח בעבודה עם תמונות של העולם האמיתי ומסמכים לא מושלמים כגון תצלומים, או סריקות ברזולוציה נמוכה שעשויות להיות בעלות רעש דיגיטלי או פגמים.

ספריות OCR אחרות בחינם לפלטפורמת .NET כגון ממשקי API אחרים ושירותי אינטרנט מסוג tesseract .net אינם מתפקדים כל כך טוב במקרים אלה של שימוש אמיתי.

OCR עם Tesseract 5 - התחל קידוד ב- C #

דוגמת הקוד שלהלן מראה כמה קל לקרוא טקסט מתמונה באמצעות C#או VB .NET.

OneLiner

string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
VB   C#

העולם הניתן להגדרה

// PM> Install-Package IronOCR.Languages.Hebrew
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... אתה יכול להוסיף כל מספר תמונות
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Hebrew
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... אתה יכול להוסיף כל מספר תמונות
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Hebrew
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hebrew
Using Input = New OcrInput()
Input.AddImage("images/sample.jpeg") var Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

C#PDF OCR

באותה גישה ניתן להשתמש כדי לחלץ טקסט מכל מסמך PDF.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// אנו יכולים גם לבחור מספרים ספציפיים של עמוד PDF ל- OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// דף אחד לכל עמוד בקובץ PDF
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// אנו יכולים גם לבחור מספרים ספציפיים של עמוד PDF ל- OCR

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// דף אחד לכל עמוד בקובץ PDF
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hebrew
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' אנו יכולים גם לבחור מספרים ספציפיים של עמוד PDF ל- OCR

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' דף אחד לכל עמוד בקובץ PDF
End Using
VB   C#

OCR עבור TIFFs מרובי-דפים

פורמט קובץ TIFF לקריאת OCR כולל מסמכי עמודים מרובים. ניתן להמיר TIFF גם ישירות לקובץ PDF עם טקסט לחיפוש.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("multi - frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hebrew

Using Input = New OcrInput()
input.AddMultiFrameTiff("multi - frame.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

ברקודים ו- QR

מאפיין ייחודי של ברזל OCR הוא שהוא יכול לקרוא ברקודים וקודי QR ממסמכים בזמן שהוא סורק לטקסט. מופעים של מחלקת OcrResult.OcrBarcode נותנים למפתח מידע מפורט על כל ברקוד סרוק.

// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// נכסי סוג ומיקום נחשפים גם הם
}
}
// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// נכסי סוג ומיקום נחשפים גם הם
}
}
' using IronOcr;
Dim Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True

Using input = New OcrInput()
input.AddImage("img/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
' נכסי סוג ומיקום נחשפים גם הם
Next Barcode
End Using
VB   C#

OCR על אזורים ספציפיים של תמונות

כל שיטות הסריקה והקריאה של IronOCR מספקות את היכולת לציין בדיוק מאיזה חלק בדף או בדפים שאנחנו רוצים לקרוא טקסט. זה מאוד שימושי כשאנחנו בוחנים טפסים סטנדרטיים ויכולים לחסוך הרבה מאוד זמן ולשפר את היעילות.

כדי להשתמש באזורי יבול, נצטרך להוסיף הפניה למערכת ל- System.Drawing כדי שנוכל להשתמש באובייקט System.Drawing.Rectangle .

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// הממדים הם בפיקסלים

Input.Add("document.png", ContentArea);

var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// הממדים הם בפיקסלים

Input.Add("document.png", ContentArea);

var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hebrew

Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' הממדים הם בפיקסלים

Input.Add("document.png", ContentArea)

Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

OCR לסריקות באיכות נמוכה

הברזל OCR OcrInput בכיתה יכול לתקן סריקות זה נורמלי Tesseract לא יכול לקרוא.

using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // מתקן רעש דיגיטלי וסריקה לקויה
Input.Deskew(); // מתקן סיבוב ופרספקטיבה
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // מתקן רעש דיגיטלי וסריקה לקויה
Input.Deskew(); // מתקן סיבוב ופרספקטיבה
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hebrew

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' מתקן רעש דיגיטלי וסריקה לקויה
Input.Deskew() ' מתקן סיבוב ופרספקטיבה
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

ייצא תוצאות OCR כקובץ PDF לחיפוש

תמונה ל- PDF עם מחרוזות טקסט ניתנות להעתקה. ניתן לאינדקס על ידי מנועי חיפוש ומאגרי מידע.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;

using (var Input = new OcrInput()){
input.Title = "Quarterly Report"
input.AddImage("image1.jpeg");
input.AddImage("image2.png");
input.AddImage("image3.gif");

var Result = Ocr.Read(input);
Result.SaveAsSearchablePdf("searchable.pdf")
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;

using (var Input = new OcrInput()){
input.Title = "Quarterly Report"
input.AddImage("image1.jpeg");
input.AddImage("image2.png");
input.AddImage("image3.gif");

var Result = Ocr.Read(input);
Result.SaveAsSearchablePdf("searchable.pdf")
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hebrew

Using Input = New OcrInput()
input.Title = "Quarterly Report" input.AddImage("image1.jpeg")
input.AddImage("image2.png")
input.AddImage("image3.gif")

Dim Result = Ocr.Read(input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

TIFF להמרת PDF הניתנת לחיפוש

הפוך מסמך TIFF (או כל קבוצה של קבצי תמונה) ישירות למסמך PDF שניתן לחיפוש בו ניתן להוסיף לאינדקס באמצעות מנועי חיפוש באינטרא-נט, באתר ובגוגל.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("example.tiff")
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;

using (var Input = new OcrInput()){
input.AddMultiFrameTiff("example.tiff")
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hebrew

Using Input = New OcrInput()
input.AddMultiFrameTiff("example.tiff") var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

ייצא תוצאות OCR כ- HTML

המרת תמונה OCR להמרת XHTML.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;
using (var Input = new OcrInput()){
input.Title = "Html Title"
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;
using (var Input = new OcrInput()){
input.Title = "Html Title"
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hebrew
Using Input = New OcrInput()
input.Title = "Html Title" input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(input)
Result.SaveAsHocrFile("results.html")
End Using
VB   C#

מסנני שיפור תמונות OCR

IronOCR מספק פילטרים ייחודיים לאובייקטים של OcrInput לשיפור ביצועי ה- OCR.

דוגמת קוד לשיפור תמונה

הופך תמונות קלט OCR לאיכותיות יותר כדי לייצר תוצאות OCR טובות יותר ומהירות יותר.

using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // מתקן רעש דיגיטלי וסריקה לקויה
Input.Deskew(); // מתקן סיבוב ופרספקטיבה
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // מתקן רעש דיגיטלי וסריקה לקויה
Input.Deskew(); // מתקן סיבוב ופרספקטיבה
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hebrew

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' מתקן רעש דיגיטלי וסריקה לקויה
Input.Deskew() ' מתקן סיבוב ופרספקטיבה
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

רשימת מסנני תמונה של OCR

מסנני קלט לשיפור ביצועי OCR המובנים ב- IronOCR כוללים:

  • OcrInput.Rotate (כפול מעלות) - מסובב תמונות במספר מעלות בכיוון השעון. לשימוש נגד כיוון השעון, השתמש במספרים שליליים.
  • OcrInput.Binarize () - מסנן תמונות זה הופך כל פיקסל לשחור או לבן ללא קרקע אמצעית. עשוי לשפר מקרים של ביצועי OCR של ניגודיות נמוכה מאוד של טקסט לרקע.
  • OcrInput.ToGrayScale () - מסנן תמונות זה הופך כל פיקסל לגוון אפור. לא צפוי לשפר את דיוק ה- OCR אך עשוי לשפר את המהירות
  • OcrInput.Contrast () - מגדיל את הניגודיות באופן אוטומטי. מסנן זה משפר לעיתים קרובות את מהירות ה- OCR ואת הדיוק בסריקות ניגודיות נמוכות.
  • OcrInput.DeNoise () - מסיר רעש דיגיטלי. יש להשתמש במסנן זה רק במקום בו צפוי רעש.
  • OcrInput.Invert () - הופך כל צבע. למשל לבן הופך לשחור: שחור הופך לבן.
  • OcrInput.Dilate () - מורפולוגיה מתקדמת. התרחבות מוסיפה פיקסלים לגבולות האובייקטים בתמונה. ממול לארודה
  • OcrInput.Erode () - מורפולוגיה מתקדמת. שחיקה מסירה פיקסלים בגבולות האובייקט מול Dilate
  • OcrInput.Deskew () - מסובב תמונה כך שהיא הדרך הנכונה למעלה ואורתוגונלית. זה מאוד שימושי עבור OCR מכיוון שסובלנות Tesseract לסריקות מוטות יכולה להיות נמוכה עד 5 מעלות.
  • OcrInput.DeepCleanBackgroundNoise () - הסרת רעשי רקע כבדים. השתמש רק במסנן זה במקרה שידוע רעשי רקע קיצוניים של מסמכים, מכיוון שמסנן זה עלול גם להפחית את דיוק ה- OCR של מסמכים נקיים והוא יקר מאוד במעבד.
  • OcrInput.EnhanceResolution - משפר את הרזולוציה של תמונות באיכות נמוכה. מסנן זה אינו נדרש לעיתים קרובות מכיוון ש- OcrInput.MinimumDPI ו- OcrInput.TargetDPI יתפסו ויפתרו אוטומטית תשומות ברזולוציה נמוכה.

CleanBackgroundNoise. זו הגדרה שלוקחת זמן רב; עם זאת, היא מאפשרת לספרייה לנקות באופן אוטומטי רעשים דיגיטליים, קמטי נייר ופגמים אחרים בתוך תמונה דיגיטלית, שאם לא כן, היא לא תוכל לקרוא אותה על ידי ספריות OCR אחרות.

EnhanceContrast היא הגדרה שגורמת ל- OCR של ברזל להגדיל באופן אוטומטי את הניגודיות של הטקסט על רקע התמונה, ולהגדיל את הדיוק של ה- OCR ולגדול את הביצועים ואת מהירות ה- OCR.

EnhanceResolution היא הגדרה שתזהה באופן אוטומטי תמונות ברזולוציה נמוכה (שהן מתחת ל -275 dpi) ותעלה את התמונה באופן אוטומטי ואז תחדד את כל הטקסט כך שתוכל לקרוא אותה בצורה מושלמת על ידי ספריית OCR. למרות שפעולה זו כשלעצמה גוזלת זמן, היא בדרך כלל מפחיתה את הזמן הכולל לפעולת OCR בתמונה.

שפת ברזל OCR תומכת ב 22 חבילות שפה בינלאומיות, ובאמצעות הגדרת השפה ניתן לבחור שפה אחת או יותר מרובות שיוחלו על פעולת OCR.

אסטרטגיית ברזל OCR תומכת בשתי אסטרטגיות. אנו עשויים לבחור בסריקה מהירה ופחות מדויקת של המסמך, או להשתמש באסטרטגיה מתקדמת המשתמשת בכמה מודלים של בינה מלאכותית כדי לשפר באופן אוטומטי את הדיוק של טקסט OCR על ידי התבוננות ביחס הסטטיסטי של מילים זה לזה במשפט. .

ColorSpace היא הגדרה לפיה אנו יכולים לבחור OCR בגווני אפור או צבע. באופן כללי, גווני אפור היא האפשרות הטובה ביותר. עם זאת, לפעמים כשיש טקסטים או רקעים בגוון דומה אך צבע שונה מאוד, שטח צבע בצבע מלא יספק תוצאות טובות יותר.

DetectWhiteTextOnDarkBackgrounds. באופן כללי, כל ספריות ה- OCR מצפות לראות טקסט שחור על רקע לבן. הגדרה זו מאפשרת ל- IronOCR לאתר באופן אוטומטי שליליות, או עמודים כהים עם טקסט לבן, ולקרוא אותם.

InputImageType. הגדרה זו מאפשרת למפתח להדריך את ספריית ה- OCR האם הוא מסתכל על מסמך מלא או קטע, כמו צילום מסך.

RotateAndStraighten היא הגדרה מתקדמת המאפשרת ל- IronOCR את היכולת הייחודית לקרוא מסמכים שאינם רק מסובבים, אלא אולי מכילים פרספקטיבה, כגון צילומי מסמכי טקסט.

ReadBarcodes היא תכונה שימושית המאפשרת ל- OCR של ברזל לקרוא ברקודים וקודי QR באופן אוטומטי בעמודים שכן הוא קורא גם טקסט, מבלי להוסיף עומס זמן גדול נוסף.

עומק צבע. הגדרה זו קובעת בכמה ביטים לפיקסל שתשתמש ספריית ה- OCR כדי לקבוע את עומק הצבע. עומק צבע גבוה יותר עשוי להגביר את איכות ה- OCR, אך גם יגדיל את הזמן הדרוש להשלמת פעולת ה- OCR.

126 חבילות שפה

IronOCR תומך ב 126 שפות בינלאומיות באמצעות חבילות שפה המופצות כ- DLL, הניתנות להורדה מאתר זה , או גם ממנהל החבילות של NuGet .

השפות כוללות גרמנית, צרפתית, אנגלית, סינית, יפנית ורבים אחרים. חבילות שפות מומחים קיימות עבור דרכון MRZ, בדיקות MICR, נתונים פיננסיים, לוחיות רישוי ורבים אחרים. אתה יכול גם להשתמש בכל קובץ ".traineddata" קטן יותר - כולל בקבצים שאתה יוצר בעצמך.

דוגמא לשפה

שימוש בשפות OCR אחרות.

// using IronOcr;
// PM> Install IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// הוסף מסנני תמונות במידת הצורך
// במקרה זה, אפילו קלט מחשבה הוא באיכות נמוכה מאוד
// IronTesseract יכולה לקרוא את מה ש- Tesseract קונבנציונאלי לא יכול.

var Result = Ocr.Read(input);

// המסוף לא יכול להדפיס ערבית בקלות ב- Windows.
// בואו נשמור בדיסק במקום.
Result.SaveAsTextFile("arabic.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// הוסף מסנני תמונות במידת הצורך
// במקרה זה, אפילו קלט מחשבה הוא באיכות נמוכה מאוד
// IronTesseract יכולה לקרוא את מה ש- Tesseract קונבנציונאלי לא יכול.

var Result = Ocr.Read(input);

// המסוף לא יכול להדפיס ערבית בקלות ב- Windows.
// בואו נשמור בדיסק במקום.
Result.SaveAsTextFile("arabic.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.Arabic

Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic

Using input = New OcrInput()
input.AddImage("img/arabic.gif")
' הוסף מסנני תמונות במידת הצורך
' במקרה זה, אפילו קלט מחשבה הוא באיכות נמוכה מאוד
' IronTesseract יכולה לקרוא את מה ש- Tesseract קונבנציונאלי לא יכול.

Dim Result = Ocr.Read(input)

' המסוף לא יכול להדפיס ערבית בקלות ב- Windows.
' בואו נשמור בדיסק במקום.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

דוגמה לשפה מרובה

אפשר גם OCR באמצעות מספר שפות בו זמנית. זה באמת יכול לעזור להשיג מטא נתונים ושפות URL בשפה האנגלית במסמכי Unicode.

// using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Hebrew);

// אנו יכולים להוסיף מספר שפות כלשהו

using (var input = new OcrInput())
{
input.Add("multi - language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Hebrew);

// אנו יכולים להוסיף מספר שפות כלשהו

using (var input = new OcrInput())
{
input.Add("multi - language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.ChineseSimplified

Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.ChineseSimplified
Ocr.AddSecondaryLanguage(OcrLanguage.Hebrew)

' אנו יכולים להוסיף מספר שפות כלשהו

Using input = New OcrInput()
input.Add("multi - language.pdf")
Dim Result = Ocr.Read(input)
Result.SaveAsTextFile("results.txt")
End Using
VB   C#

אובייקטים מפורטים של תוצאות OCR

ברזל OCR מחזיר אובייקט תוצאה של OCR עבור כל פעולת OCR. באופן כללי, מפתחים משתמשים רק במאפיין הטקסט של אובייקט זה כדי לסרוק את הטקסט מהתמונה. עם זאת, תוצאות ה- DOM של ה- OCR מתקדמות הרבה יותר מזה.

using IronOcr;
using System.Drawing; //הוסף אסמכתא לאסיפה

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!חָשׁוּב

using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// גלה כאן כדי למצוא ממשק API עצום ומפורט:
// - דפים, בלוקים, פרפפות, קווים, מילים, תווים
// - ייצוא תמונות, קואורדינטות גופנים, נתונים סטטיסטיים
}
using IronOcr;
using System.Drawing; //הוסף אסמכתא לאסיפה

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Hebrew;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; //!חָשׁוּב

using (var Input = new OcrInput(@"images\sample.tiff"))
{
OcrResult Result = Ocr.Read(Input);
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// גלה כאן כדי למצוא ממשק API עצום ומפורט:
// - דפים, בלוקים, פרפפות, קווים, מילים, תווים
// - ייצוא תמונות, קואורדינטות גופנים, נתונים סטטיסטיים
}
Imports IronOcr
Imports System.Drawing 'הוסף אסמכתא לאסיפה

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Hebrew
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True '!חָשׁוּב

Using Input = New OcrInput("images\sample.tiff")
Dim Result As OcrResult = Ocr.Read(Input)
Dim Pages = Result.Pages
Dim Words = Pages(0).Words
Dim Barcodes = Result.Barcodes
' גלה כאן כדי למצוא ממשק API עצום ומפורט:
' - דפים, בלוקים, פרפפות, קווים, מילים, תווים
' - ייצוא תמונות, קואורדינטות גופנים, נתונים סטטיסטיים
End Using
VB   C#

ביצועים

IronOCR עובד מהקופסה ללא צורך בכוונון ביצועים או בשינוי כבד של תמונות קלט.

המהירות בוערת: IronOcr.2020 + מהיר פי 10 ועושה יותר מ -250% פחות שגיאות בהשוואה לבניות קודמות.

למד עוד

למידע נוסף על OCR ב- C #, VB, F # או כל שפת .NET אחרת, קרא את המדריכים הקהילתיים שלנו , אשר נותנים דוגמאות בעולם האמיתי כיצד ניתן להשתמש ב- OCR של Iron ועשויים להראות את הניואנסים כיצד להפיק את המיטב הספרייה הזו.

יש גם הפניה מלאה לאובייקטים עבור מפתחי .NET .