Ελληνικό αλφάβητο OCR σε C#και .NET
Άλλες εκδόσεις αυτού του εγγράφου:
Το IronOCR είναι ένα στοιχείο λογισμικού C#που επιτρέπει στους .NET κωδικοποιητές να διαβάζουν κείμενο από εικόνες και έγγραφα PDF σε 126 γλώσσα, συμπεριλαμβανομένου του Ελληνικού Αλφαβήτου.
Πρόκειται για ένα προηγμένο πιρούνι του Tesseract, κατασκευασμένο αποκλειστικά για τους προγραμματιστές .NET και ξεπερνά τακτικά άλλους κινητήρες Tesseract για ταχύτητα και ακρίβεια.
Περιεχόμενα του IronOcr.Languages.Greek
Αυτό το πακέτο περιέχει 102 γλώσσες OCR για .NET:
- Ελληνικά
- GreekBest
- GreekFast
- Ελληνικό αλφάβητο
- GreekAlphabetBest
- GreekAlphabetFast
Κατεβάστε
Πακέτο Ελληνικής Αλφαβήτου [ Ελληνικά ]
* Download as Φερμουάρ
* Install with https://www.nuget.org/packages/IronOcr.Languages.Greek/'> NuGet
Εγκατάσταση
Το πρώτο πράγμα που πρέπει να κάνουμε είναι να εγκαταστήσουμε το πακέτο μας Greek Alphabet OCR στο έργο σας .NET.
PM> Install-Package IronOCR.Languages.Greek
Παράδειγμα κώδικα
Αυτό το παράδειγμα κωδικού C#διαβάζει κείμενο ελληνικού αλφαβήτου από έγγραφο εικόνας ή PDF.
//PM> Install-Package IronOcr.Languages.Greek
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Greek;
using (var Input = new OcrInput(@"images\Greek.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
//PM> Install-Package IronOcr.Languages.Greek
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Greek;
using (var Input = new OcrInput(@"images\Greek.png"))
{
var Result = Ocr.Read(Input);
Var AllText = Result.Text
}
'PM> Install-Package IronOcr.Languages.Greek
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Greek
Using Input = New OcrInput("images\Greek.png")
Dim Result = Ocr.Read(Input)
Dim AllText As Var = Result.Text
End Using
Γιατί να επιλέξετε IronOCR;
Το IronOCR είναι μια εύκολη εγκατάσταση, πλήρης και καλά τεκμηριωμένη βιβλιοθήκη λογισμικού .NET.
Επιλέξτε IronOCR για να επιτύχετε 99,8% + ακρίβεια OCR χωρίς να χρησιμοποιήσετε εξωτερικές υπηρεσίες ιστού, τρέχουσες χρεώσεις ή αποστολή εμπιστευτικών εγγράφων μέσω του Διαδικτύου.
Γιατί οι προγραμματιστές C#επιλέγουν το IronOCR έναντι του Vanilla Tesseract:
- Εγκατάσταση ως μεμονωμένο DLL ή NuGet
- Περιλαμβάνει κινητήρες Tesseract 5, 4 και 3 εκτός κουτιού.
- Η ακρίβεια 99,8% ξεπερνά σημαντικά το κανονικό Tesseract.
- Blazing Speed και MultiThreading
- MVC, WebApp, Desktop, Console & Server Application συμβατό
- Δεν υπάρχει κωδικός Exes ή C ++ για εργασία
- Πλήρης υποστήριξη PDF OCR
- Για να εκτελέσετε OCR σχεδόν οποιοδήποτε αρχείο εικόνας ή PDF
- Πλήρης υποστήριξη .NET Core, Standard και FrameWork
- Ανάπτυξη σε Windows, Mac, Linux, Azure, Docker, Lambda, AWS
- Διαβάστε γραμμωτούς κώδικες και κωδικούς QR
- Εξαγωγή OCR ως XHTML
- Εξαγωγή OCR σε έγγραφα PDF με δυνατότητα αναζήτησης
- Υποστήριξη πολλαπλών νημάτων
- 126 διεθνείς γλώσσες διαχειρίζονται όλες μέσω αρχείων NuGet ή OcrData
- Εξαγωγή εικόνων, συντεταγμένων, στατιστικών και γραμματοσειρών. Όχι μόνο κείμενο.
- Μπορεί να χρησιμοποιηθεί για την αναδιανομή του Tesseract OCR σε εμπορικές και ιδιόκτητες εφαρμογές.
Το IronOCR λάμπει όταν εργάζεστε με εικόνες πραγματικού κόσμου και ατελή έγγραφα όπως φωτογραφίες ή σαρώσεις χαμηλής ανάλυσης που ενδέχεται να έχουν ψηφιακό θόρυβο ή ατέλειες.
Άλλες δωρεάν βιβλιοθήκες OCR για την πλατφόρμα .NET όπως άλλες .net tesseract APIs και υπηρεσίες ιστού δεν αποδίδουν τόσο καλά σε αυτές τις περιπτώσεις χρήσης του πραγματικού κόσμου.
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
Διαμορφώσιμο Hello World
// PM> Install-Package IronOCR.Languages.Greek
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Greek;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... μπορείτε να προσθέσετε οποιονδήποτε αριθμό εικόνων
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Greek
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Greek;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... μπορείτε να προσθέσετε οποιονδήποτε αριθμό εικόνων
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Greek
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Greek
Using Input = New OcrInput()
Input.AddImage("images/sample.jpeg") var Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
C#PDF OCR
Η ίδια προσέγγιση μπορεί ομοίως να χρησιμοποιηθεί για την εξαγωγή κειμένου από οποιοδήποτε έγγραφο PDF.
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Greek;
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");
// 1 σελίδα για κάθε σελίδα του PDF
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Greek;
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");
// 1 σελίδα για κάθε σελίδα του PDF
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Greek
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")
' 1 σελίδα για κάθε σελίδα του PDF
End Using
OCR για TIFF πολλαπλών σελίδων
Μορφή αρχείου TIFF ανάγνωσης OCR που περιλαμβάνει έγγραφα πολλών σελίδων. Το TIFF μπορεί επίσης να μετατραπεί απευθείας σε αρχείο PDF με κείμενο με δυνατότητα αναζήτησης.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Greek;
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.Greek;
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.Greek
Using Input = New OcrInput()
input.AddMultiFrameTiff("multi - frame.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Γραμμικοί κώδικες και QR
Ένα μοναδικό χαρακτηριστικό του IronOCR είναι ότι μπορεί να διαβάσει γραμμωτούς κώδικες και κωδικούς QR από έγγραφα ενώ κάνει σάρωση για κείμενο. Οι OcrResult.OcrBarcode
κλάσης 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
OCR σε συγκεκριμένες περιοχές εικόνων
Όλες οι μέθοδοι σάρωσης και ανάγνωσης του IronOCR παρέχουν τη δυνατότητα καθορισμού ακριβώς από ποιο μέρος μιας σελίδας ή σελίδων από τις οποίες επιθυμούμε να διαβάσουμε κείμενο. Αυτό είναι πολύ χρήσιμο όταν εξετάζουμε τυποποιημένες φόρμες και μπορεί να εξοικονομήσει πολύ χρόνο και να βελτιώσει την αποτελεσματικότητα.
Για να χρησιμοποιήσουμε περιοχές περικοπής, θα πρέπει να προσθέσουμε μια αναφορά συστήματος στο System.Drawing
ώστε να μπορούμε να χρησιμοποιήσουμε το αντικείμενο System.Drawing.Rectangle
.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Greek;
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Οι διαστάσεις είναι σε px
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Greek;
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Οι διαστάσεις είναι σε px
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Greek
Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
' Οι διαστάσεις είναι σε px
Input.Add("document.png", ContentArea)
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
OCR για σαρώσεις χαμηλής ποιότητας
Η κατηγορία IronOCR OcrInput
μπορεί να διορθώσει τις σαρώσεις που δεν μπορεί να διαβάσει το κανονικό Tesseract.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Greek;
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.Greek;
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.Greek
Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' διορθώνει τον ψηφιακό θόρυβο και την κακή σάρωση
Input.Deskew() ' διορθώνει την περιστροφή και την προοπτική
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Εξαγωγή αποτελεσμάτων OCR ως PDF με δυνατότητα αναζήτησης
Εικόνα σε PDF με συμβολοσειρές κειμένου με δυνατότητα αντιγραφής. Μπορεί να ευρετηριαστεί από μηχανές αναζήτησης και βάσεις δεδομένων.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Greek;
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.Greek;
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.Greek
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
TIFF σε μετατροπή PDF με δυνατότητα αναζήτησης
Μετατρέψτε ένα έγγραφο TIFF (ή οποιαδήποτε ομάδα αρχείων εικόνας) απευθείας σε PDF με δυνατότητα αναζήτησης, το οποίο μπορεί να ευρετηριαστεί από τις μηχανές αναζήτησης intranet, ιστότοπου και google.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Greek;
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.Greek;
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.Greek
Using Input = New OcrInput()
input.AddMultiFrameTiff("example.tiff") var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
End Using
Εξαγωγή αποτελεσμάτων OCR ως HTML
OCR Εικόνα σε μετατροπή XHTML.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Greek;
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.Greek;
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.Greek
Using Input = New OcrInput()
input.Title = "Html Title" input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(input)
Result.SaveAsHocrFile("results.html")
End Using
Φίλτρα βελτίωσης εικόνας OCR
Το IronOCR παρέχει μοναδικά φίλτρα για αντικείμενα OcrInput
για τη βελτίωση της απόδοσης του OCR.
Παράδειγμα κώδικα βελτίωσης εικόνας
Κάνει τις εικόνες εισόδου OCR υψηλότερης ποιότητας για να παράγει καλύτερα, ταχύτερα αποτελέσματα OCR.
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Greek;
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.Greek;
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.Greek
Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' διορθώνει τον ψηφιακό θόρυβο και την κακή σάρωση
Input.Deskew() ' διορθώνει την περιστροφή και την προοπτική
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Λίστα φίλτρων εικόνων OCR
Τα φίλτρα εισόδου για την ενίσχυση της απόδοσης OCR που είναι ενσωματωμένα στο IronOCR περιλαμβάνουν:
- OcrInput.Rotate (διπλές μοίρες) - Περιστρέφει τις εικόνες κατά αριθμό μοίρες δεξιόστροφα. Για αριστερόστροφα, χρησιμοποιήστε αρνητικούς αριθμούς.
- OcrInput.Binarize () - Αυτό το φίλτρο εικόνας μετατρέπει κάθε εικονοστοιχείο ασπρόμαυρο ή χωρίς μεσαία γείωση. Μπορεί να βελτιώσει τις περιπτώσεις απόδοσης OCR με πολύ χαμηλή αντίθεση κειμένου σε φόντο.
- OcrInput.ToGrayScale () - Αυτό το φίλτρο εικόνας μετατρέπει κάθε εικονοστοιχείο σε σκιά γκρι κλίμακας. Είναι απίθανο να βελτιώσει την ακρίβεια OCR αλλά μπορεί να βελτιώσει την ταχύτητα
- OcrInput.Contrast () - Αυξάνει αυτόματα την αντίθεση. Αυτό το φίλτρο βελτιώνει συχνά την ταχύτητα και την ακρίβεια OCR σε σαρώσεις χαμηλής αντίθεσης.
- OcrInput.DeNoise () - Αφαιρεί τον ψηφιακό θόρυβο. Αυτό το φίλτρο πρέπει να χρησιμοποιείται μόνο όπου αναμένεται θόρυβος.
- OcrInput.Invert () - Αντιστρέφει κάθε χρώμα. Π.χ. Λευκό γίνεται μαύρο: το μαύρο γίνεται λευκό.
- OcrInput.Dilate () - Προηγμένη Μορφολογία. Η διαστολή προσθέτει pixel στα όρια των αντικειμένων σε μια εικόνα. Απέναντι από το Erode
- OcrInput.Erode () - Προηγμένη Μορφολογία. Η διάβρωση αφαιρεί τα εικονοστοιχεία στα όρια αντικειμένου Απέναντι από το Dilate
- OcrInput.Deskew () - Περιστρέφει μια εικόνα έτσι ώστε να είναι ο σωστός τρόπος προς τα πάνω και ορθογώνιος. Αυτό είναι πολύ χρήσιμο για το OCR επειδή η ανοχή Tesseract για στρεβλωμένες σαρώσεις μπορεί να είναι τόσο χαμηλή όσο 5 μοίρες.
- OcrInput.DeepCleanBackgroundNoise () - Αφαίρεση θορύβου βαρέως φόντου. Χρησιμοποιήστε αυτό το φίλτρο μόνο σε περίπτωση που είναι γνωστός ο ακραίος θόρυβος του παρασκηνίου του εγγράφου, επειδή αυτό το φίλτρο κινδυνεύει επίσης να μειώσει την ακρίβεια OCR των καθαρών εγγράφων και είναι πολύ ακριβό από την CPU.
- OcrInput.EnhanceResolution - Βελτιώνει την ανάλυση εικόνων χαμηλής ποιότητας. Αυτό το φίλτρο δεν απαιτείται συχνά επειδή το OcrInput.MinimumDPI και το OcrInput.TargetDPI θα πιάσει και θα επιλύσει αυτόματα εισόδους χαμηλής ανάλυσης.
CleanBackgroundNoise. Αυτό είναι ένα περιβάλλον που είναι κάπως χρονοβόρο. Ωστόσο, επιτρέπει στη βιβλιοθήκη να καθαρίζει αυτόματα ψηφιακό θόρυβο, τσαλακώσεις χαρτιού και άλλες ατέλειες μέσα σε μια ψηφιακή εικόνα που διαφορετικά θα την καθιστούσαν ανίκανη να διαβαστεί από άλλες βιβλιοθήκες OCR.
Το EnhanceContrast είναι μια ρύθμιση που κάνει το IronOCR να αυξάνει αυτόματα την αντίθεση του κειμένου στο φόντο μιας εικόνας, αυξάνοντας την ακρίβεια του OCR και γενικά αυξάνοντας την απόδοση και την ταχύτητα του OCR.
Το EnhanceResolution είναι μια ρύθμιση που θα ανιχνεύει αυτόματα εικόνες χαμηλής ανάλυσης (οι οποίες είναι κάτω από 275 dpi) και θα αναβαθμίζει αυτόματα την εικόνα και, στη συνέχεια, θα οξύνει όλο το κείμενο, ώστε να μπορεί να διαβαστεί τέλεια από μια βιβλιοθήκη OCR. Αν και αυτή η λειτουργία είναι από μόνη της χρονοβόρα, μειώνει γενικά τον συνολικό χρόνο για μια λειτουργία OCR σε μια εικόνα.
Το Language IronOCR υποστηρίζει 22 πακέτα διεθνών γλωσσών και η ρύθμιση γλώσσας μπορεί να χρησιμοποιηθεί για την επιλογή μίας ή περισσότερων πολλαπλών γλωσσών που θα εφαρμοστούν για μια λειτουργία OCR.
Στρατηγική Το IronOCR υποστηρίζει δύο στρατηγικές. Μπορεί να επιλέξουμε είτε να κάνουμε μια γρήγορη και λιγότερο ακριβή σάρωση ενός εγγράφου, είτε να χρησιμοποιήσουμε μια προηγμένη στρατηγική που χρησιμοποιεί ορισμένα μοντέλα τεχνητής νοημοσύνης για να βελτιώσει αυτόματα την ακρίβεια του κειμένου OCR εξετάζοντας τη στατιστική σχέση των λέξεων μεταξύ τους σε μια πρόταση .
Το ColorSpace είναι μια ρύθμιση σύμφωνα με την οποία μπορούμε να επιλέξουμε OCR σε κλίμακα του γκρι ή χρώμα. Γενικά, η κλίμακα του γκρι είναι η καλύτερη επιλογή. Ωστόσο, μερικές φορές όταν υπάρχουν κείμενα ή υπόβαθρα παρόμοιας απόχρωσης αλλά πολύ διαφορετικού χρώματος, ένας έγχρωμος χρωματικός χώρος θα παρέχει καλύτερα αποτελέσματα.
DetectWhiteTextOnDarkBackgrounds. Γενικά, όλες οι βιβλιοθήκες OCR αναμένουν να δουν μαύρο κείμενο σε λευκό φόντο. Αυτή η ρύθμιση επιτρέπει στο IronOCR να εντοπίζει αυτόματα αρνητικά ή σκοτεινές σελίδες με λευκό κείμενο και να τα διαβάζει.
Τύπος εισόδου εικόνας. Αυτή η ρύθμιση επιτρέπει στον προγραμματιστή να καθοδηγήσει τη βιβλιοθήκη OCR ως προς το εάν εξετάζει ένα πλήρες έγγραφο ή ένα απόσπασμα, όπως ένα στιγμιότυπο οθόνης.
Το RotateAndStraighten είναι μια προηγμένη ρύθμιση που επιτρέπει στο IronOCR τη μοναδική ικανότητα ανάγνωσης εγγράφων που όχι μόνο περιστρέφονται, αλλά ίσως περιέχουν προοπτική, όπως φωτογραφίες εγγράφων κειμένου.
Το ReadBarcodes είναι ένα χρήσιμο χαρακτηριστικό που επιτρέπει στο IronOCR να διαβάζει αυτόματα γραμμωτούς κώδικες και κωδικούς QR σε σελίδες καθώς διαβάζει επίσης κείμενο, χωρίς να προσθέτει μεγάλη πρόσθετη επιβάρυνση χρόνου.
Βάθος χρώματος. Αυτή η ρύθμιση καθορίζει πόσα bit ανά pixel θα χρησιμοποιήσει η βιβλιοθήκη OCR για να προσδιορίσει το βάθος ενός χρώματος. Ένα υψηλότερο βάθος χρώματος μπορεί να αυξήσει την ποιότητα του OCR, αλλά θα αυξήσει επίσης το χρόνο που απαιτείται για την ολοκλήρωση της λειτουργίας OCR.
126 πακέτα γλωσσών
Το IronOCR υποστηρίζει 126 διεθνείς γλώσσες μέσω πακέτων γλωσσών που διανέμονται ως DLL, τα οποία μπορείτε να κατεβάσετε από αυτόν τον ιστότοπο ή επίσης από το NuGet Package Manager .
Οι γλώσσες περιλαμβάνουν Γερμανικά, Γαλλικά, Αγγλικά, Κινέζικα, Ιαπωνικά και πολλά άλλα. Υπάρχουν πακέτα ειδικών γλωσσών για διαβατήρια MRZ, ελέγχους MICR, Οικονομικά δεδομένα, πινακίδες κυκλοφορίας και πολλά άλλα. Μπορείτε επίσης να χρησιμοποιήσετε οποιοδήποτε αρχείο tesseract ".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
Παράδειγμα πολλαπλής γλώσσας
Είναι επίσης δυνατό το OCR να χρησιμοποιεί πολλές γλώσσες ταυτόχρονα. Αυτό μπορεί πραγματικά να βοηθήσει στη λήψη μεταδεδομένων και διευθύνσεων URL στην αγγλική γλώσσα σε έγγραφα Unicode.
// using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Greek);
// Μπορούμε να προσθέσουμε οποιονδήποτε αριθμό γλωσσών
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.Greek);
// Μπορούμε να προσθέσουμε οποιονδήποτε αριθμό γλωσσών
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.Greek)
' Μπορούμε να προσθέσουμε οποιονδήποτε αριθμό γλωσσών
Using input = New OcrInput()
input.Add("multi - language.pdf")
Dim Result = Ocr.Read(input)
Result.SaveAsTextFile("results.txt")
End Using
Λεπτομερή αντικείμενα αποτελεσμάτων OCR
Το IronOCR επιστρέφει ένα αντικείμενο αποτελέσματος OCR για κάθε λειτουργία OCR. Γενικά, οι προγραμματιστές χρησιμοποιούν μόνο την ιδιότητα κειμένου αυτού του αντικειμένου για να κάνουν τη σάρωση του κειμένου από την εικόνα. Ωστόσο, τα αποτελέσματα OCR DOM είναι πολύ πιο προηγμένα από αυτό.
using IronOcr;
using System.Drawing; //Προσθήκη αναφοράς συναρμολόγησης
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Greek;
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.Greek;
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.Greek
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
Εκτέλεση
Το IronOCR λειτουργεί έξω από το κουτί χωρίς να χρειάζεται να συντονιστείτε η απόδοση ή να τροποποιήσετε σε μεγάλο βαθμό τις εικόνες εισόδου.
Η ταχύτητα είναι απίστευτη: Το IronOcr.2020 + είναι έως και 10 φορές πιο γρήγορο και κάνει πάνω από 250% λιγότερα σφάλματα από τις προηγούμενες εκδόσεις.
Μάθε περισσότερα
Για να μάθετε περισσότερα σχετικά με το OCR σε C #, VB, F # ή σε οποιαδήποτε άλλη γλώσσα .NET, διαβάστε τα εκπαιδευτικά σεμινάρια της κοινότητάς μας , τα οποία δίνουν πραγματικά παραδείγματα για το πώς μπορεί να χρησιμοποιηθεί το IronOCR και μπορεί να δείξει τις αποχρώσεις του πώς να αξιοποιήσετε στο έπακρο αυτή η βιβλιοθήκη.
Διατίθεται επίσης πλήρης αναφορά αντικειμένου για προγραμματιστές .NET .