<meta http-equiv="content-language" content="az" />
# C# və .NET-də Azərbaycan OCR
###### Bu sənədin digər versiyaları:
- [İngilis dili (This Page in English)](/csharp/ocr/languages/azerbaijani/)
- [Daha çox Languages](/csharp/ocr/languages/)
IronOCR .NET kodlayıcılarına şəkillərdən və PDF sənədlərindən mətni Azərbaycan dili daxil olmaqla 126 dildə oxumağa imkan verən C# proqram komponentidir.
Yalnızca .NET inkişaf etdiriciləri üçün qurulmuş və sürət və dəqiqlik baxımından digər Tesseract mühərriklərini üstələyən inkişaf etmiş bir Tesseract çəngəlidir.
## IronOcr.Languages.Azerbaijani
Bu paketdə .NET üçün 138 OCR dili var:
- Azərbaycan dili
- Azərbaycan Ən Yaxşısı
- Azerbaycan tez
- Azərbaycan dili
- Azərbaycan dili Kiril Ən Yaxşısı
- Azərbaycan dili Kiril Tez
## Yükləyin
Azərbaycan Dili Paketi \[azərbaycan dili\]
* Download as [Zip <i class='fas fa-download'></i>](/csharp/ocr/packages/language-packs/Azerbaijani.ocrdata.zip)
* Install with [NuGet](https://www.nuget.org/packages/IronOcr.Languages.Azerbaijani/) <i class='nuget-icon'></i>
## Quraşdırma
Etməli olduğumuz ilk şey **Azərbaycan** OCR paketimizi .NET layihənizə yükləməkdir.
```shell
:InstallCmd Install-Package IronOcr.Languages.Azerbaijani
```
## Kod nümunəsi
Bu C# kod nümunəsi bir Image və ya PDF sənədindəki Azərbaycan mətnini oxuyur.
```csharp
// PM> Install-Package IronOcr.Languages.Azerbaijani
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput(@"images\Azerbaijani.png"))
{
var Result = Ocr.Read(Input);
var AllText = Result.Text;
Console.WriteLine(AllText);
}
```
## Niyə IronOCR seçməlisiniz?
IronOCR, qurulması asan, tam və sənədləşdirilmiş .NET proqram kitabxanasıdır.
Heç bir xarici veb xidmətindən istifadə etmədən, davam edən ödənişlərdən və ya internet üzərindən məxfi sənədlər göndərmədən **% 99.8 + OCR dəqiqliyinə** nail olmaq üçün IronOCR seçin.
#### Nə üçün C# inkişaf etdiriciləri Vanilla Tesseract əvəzinə IronOCR seçirlər:
- Tək bir DLL və ya NuGet kimi quraşdırın
- Qutudan çıxan Tesseract 5, 4 və 3 mühərrikləri üçün daxildir.
- Dəqiqlik **% 99,8** normal Tesseract-dan əhəmiyyətli dərəcədə üstündür.
- Parlaq Sürət və MultiThreading
- MVC, WebApp, Masaüstü, Konsol və Server Tətbiqinə uyğundur
- İşləmək üçün Exes və ya C++ kodu yoxdur
- Tam PDF OCR dəstəyi
- OCR-i demək olar ki, hər hansı bir Şəkil faylı və ya PDF şəklində yerinə yetirmək üçün
- Tam .NET Core, Standard və Framework dəstəyi
- Windows, Mac, Linux, Azure, Docker, Lambda, AWS-də yerləşdirin
- Barkodları və QR kodlarını oxuyun
- OCR'yi XHTML olaraq ixrac edin
- Axtarış sənədlərini PDF sənədlərinə göndərin
- Çox işləmə dəstəyi
- 126 beynəlxalq dil, hamısı NuGet və ya OcrData faylları vasitəsi ilə idarə olunur
- Şəkillər, Koordinatlar, Statistika və Yazı tiplərini çıxarın. Yalnız mətn deyil.
- Ticarət və mülkiyyət tətbiqetmələrində Tesseract OCR-nin yenidən paylanması üçün istifadə edilə bilər.
*IronOCR, real dünya şəkilləri və fotoşəkil kimi qüsurlu sənədlərlə və ya rəqəmsal səs-küy və ya qüsurlu ola biləcək aşağı çözünürlüklü taramalarla işləyərkən parlayır.*
.NET platforması üçün digər [pulsuz OCR](/csharp/ocr/use-case/free-ocr-csharp/) kitabxanaları, digər .NET Tesseract API və veb xidmətləri bu real dünya istifadəsi hallarında o qədər də yaxşı nəticə vermir.
## Tesseract 5 ilə OCR - C# ilə kodlamaya başlayın
Aşağıdakı kod nümunəsi C# və ya VB .NET istifadə edərək bir görüntüdən mətn oxumağın nə qədər asan olduğunu göstərir.
### OneLiner
```csharp
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
```
### Yapılandırılabilir Salam Dünya
```csharp
// PM> Install-Package IronOcr.Languages.Azerbaijani
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput())
{
Input.AddImage("images/sample.jpeg");
// ... istənilən sayda şəkil əlavə edə bilərsiniz
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
```
### C# PDF OCR
Eyni yanaşma hər hansı bir PDF sənədindən mətn çıxarmaq üçün də istifadə edilə bilər.
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// OCR-ə xüsusi PDF səhifə nömrələrini də seçə bilərik
var Result = Ocr.Read(input);
Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count} Pages");
// PDF-nin hər səhifəsi üçün 1 səhifə
}
```
### MultiPage TIFF-lər üçün OCR
Çox səhifə sənədləri daxil olmaqla OCR TIFF fayl formatını oxumaq. TIFF də axtarış mətni ilə birbaşa PDF sənədinə çevrilə bilər.
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("multi-frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
```
### Barkodlar və QR
Dəmir OCR-nin bənzərsiz bir xüsusiyyəti mətni axtararkən sənədlərdən barkodları və QR kodlarını oxuya bilər. `OcrResult.OcrBarcode` Sınıfı, inkişaf etdiriciyə hər skan edilmiş barkod haqqında ətraflı məlumat verir.
```csharp
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);
// növ və yer xüsusiyyətləri də ifşa edildi
}
}
```
### Xüsusi Şəkillər Sahələrində OCR
Bütün IronOCR-nin tarama və oxu metodları bir səhifənin və ya səhifələrin hansı hissəsindən mətn oxumaq istədiyimizi dəqiq müəyyənləşdirmək imkanı verir. Bu standartlaşdırılmış formaları nəzərdən keçirdiyimiz zaman çox faydalıdır və çox vaxta qənaət edə və səmərəliliyi artıra bilər.
Məhsul bölgələrini istifadə etmək üçün `System.Drawing` ə bir sistem əlavə etməliyik ki, `System.Drawing.Rectangle` obyektini istifadə edə bilək.
```csharp
using IronOcr;
using System.Drawing;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Ölçülər px şəklindədir
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
```
### Aşağı keyfiyyətli taramalar üçün OCR
IronOCR `OcrInput` sinfi normal Tesseract'in oxuya bilmədiyi taramaları düzəldə bilər.
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // rəqəmsal səs-küy və zəif tarama düzəldir
Input.Deskew(); // fırlanma və perspektivi düzəldir
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
```
### OCR nəticələrini Aranabilir PDF olaraq ixrac edin
Kopyalanan mətn simləri ilə PDF şəkli. Axtarış motorları və verilənlər bazaları tərəfindən indeksləşdirilə bilər.
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
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");
}
```
### TIFF-dən axtarılan PDF Konversiyasına
TIFF sənədini (və ya hər hansı bir şəkil sənəd qrupunu) birbaşa intranet, veb sayt və google axtarış motorları ilə indeksləşdirilə bilən axtarışa verilən bir PDF-yə köçürün.
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("example.tiff");
var Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf");
}
```
### OCR nəticələrini HTML olaraq ixrac edin
OCR görüntüsünü XHTML-ə çevirmək.
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput())
{
input.Title = "Html Title";
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
```
## OCR görüntü genişləndirmə filtrləri
IronOCR, OCR performansını yaxşılaşdırmaq üçün `OcrInput` obyektləri üçün unikal filtrlər təqdim edir.
### Şəkil genişləndirmə kodu nümunəsi
Daha yaxşı, daha sürətli OCR nəticələri əldə etmək üçün OCR giriş şəkillərini daha keyfiyyətli edir.
```csharp
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // rəqəmsal səs-küy və zəif tarama düzəldir
Input.Deskew(); // fırlanma və perspektivi düzəldir
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
```
### OCR şəkil filtrlərinin siyahısı
IronOCR-da quraşdırılmış OCR performansını artırmaq üçün giriş filtrlərinə aşağıdakılar daxildir:
- **`OcrInput.Rotate(double degree)`** - Şəkilləri saat istiqamətində bir neçə **dərəcə ilə çevirir**. Saat yönünün əksinə mənfi rəqəmlərdən istifadə edin.
- **`OcrInput.Binarize()`** - Bu şəkil süzgəci hər pikselin ortası olmayan qara və ya ağ rəngə çevrilir. Mətnin fonla çox aşağı kontrastlı OCR performans hallarını inkişaf etdirə bilər.
- **`OcrInput.ToGrayScale()`** - Bu şəkil filtri hər pikselin **rəngini kölgəyə** çevirir. OCR dəqiqliyini yaxşılaşdırmaq ehtimalı yoxdur, lakin sürəti artıra bilər.
- **`OcrInput.Contrast()`** - Kontrastı avtomatik olaraq artırır. Bu filtr tez-tez aşağı kontrastlı taramalarda OCR sürətini və dəqiqliyini artırır.
- **`OcrInput.DeNoise()`** - Rəqəmsal səsləri **aradan qaldırır**. Bu filtr yalnız səs-küy gözlənilən yerdə istifadə olunmalıdır.
- **`OcrInput.Invert()`** - Hər rəngi tərs çevirir. Məsələn Ağ qara olur: qara ağ olur.
- **`OcrInput.Dilate()`** - Ətraflı Morfologiya. **Dilatasiya** bir görüntüdəki obyektlərin sərhədlərinə piksel əlavə edir. Erode ilə üzbəüz.
- **`OcrInput.Erode()`** - Ətraflı Morfologiya. **Eroziya**, obyekt sərhədlərindəki pikselləri silər, əksinə Dilate.
- **`OcrInput.Deskew()`** - **Görünüşü** doğru yola və ortogonal olduğu üçün **döndürür**. Bu, OCR üçün çox faydalıdır, çünki əyilmiş taramalar üçün Tesseract toleransı 5 dərəcə qədər ola bilər.
- **`OcrInput.DeepCleanBackgroundNoise()`** - Ağır fon səs-küyünün çıxarılması. Bu filtri yalnız həddindən artıq sənəd fon səs-küyünün bilinməsi halında istifadə edin, çünki bu filtr təmiz sənədlərin OCR dəqiqliyini azaltmaq riski daşıyacaq və CPU çox bahalıdır.
- **OcrInput.EnhanceResolution** - Aşağı keyfiyyətli şəkillərin qətnaməsini **artırır**. **OcrInput.MinimumDPI** və **OcrInput.TargetDPI** avtomatik olaraq aşağı çözünürlüklü girişləri tutub həll edəcəyi üçün bu filtrə tez-tez ehtiyac yoxdur.
**CleanBackgroundNoise.** Bu bir qədər vaxt aparan bir ayardır; bununla birlikdə kitabxanaya rəqəmsal səs içərisindəki rəqəmsal səs-küyləri, kağız qırışlarını və digər qüsurları avtomatik olaraq digər OCR kitabxanaları tərəfindən oxunma qabiliyyətinə səbəb ola biləcək şəkildə təmizləməyə imkan verir.
**EnhanceContrast**, Dəmir OCR-nin bir şəkil fonunda mətnin kontrastını avtomatik olaraq artırmasına, OCR-nin dəqiqliyini artırmasına və ümumiyyətlə OCR-nin performansını və sürətini artırmasına səbəb olan bir ayardır.
**EnhanceResolution**, aşağı çözünürlüklü şəkilləri (275 dpi-dən aşağı) avtomatik olaraq aşkar edəcək və **görüntüyü** avtomatik olaraq yüksək **səviyyəyə qaldıracaq** və sonra OCR kitabxanası tərəfindən mükəmməl oxunması üçün bütün mətni kəskinləşdirən bir ayardır. Bu əməliyyat özlüyündə çox vaxt aparsa da, ümumiyyətlə bir görüntü üzərində bir OCR əməliyyatı üçün ümumi vaxtı azaldır.
**Dil** Dəmir OCR, 22 beynəlxalq dil paketini dəstəkləyir və dil ayarı, bir OCR əməliyyatı üçün tətbiq ediləcək bir və ya daha çox dil seçmək üçün istifadə edilə bilər.
**Strategy** IronOCR iki strategiyanı dəstəkləyir. Ya bir sənədin sürətli və daha az dəqiq bir taramasına gedə bilərik, ya da bir cümlə içərisində sözlərin bir-birinə olan statistik əlaqəsinə baxaraq OCR mətninin dəqiqliyini avtomatik olaraq artırmaq üçün bəzi süni zəka modellərindən istifadə edən inkişaf etmiş bir strategiyadan istifadə edə bilərik.
**ColorSpace**, **boz tonda** və ya rəngdə OCR seçə biləcəyimiz bir ayardır. Ümumiyyətlə, gri tonlama ən yaxşı seçimdir. Lakin bəzən oxşar rəngli, lakin çox fərqli rəngli mətnlər və ya arxa planlar olduqda tam rəngli rəng sahəsi daha yaxşı nəticələr verəcəkdir.
**WhiteTextOnDarkBackgrounds aşkarlayın.** Ümumiyyətlə, bütün OCR kitabxanaları ağ fonlarda qara mətn görməsini gözləyirlər. Bu parametr Dəmir OCR-yə neqativləri və ya ağ mətnli qaranlıq səhifələri avtomatik olaraq aşkar edib oxumağa imkan verir.
**InputImageType.** Bu parametr, geliştiricinin OCR kitabxanasına tam bir sənəd və ya ekran görüntüsü kimi bir parçaya baxıb-baxmadığına dair rəhbərlik etməsinə imkan verir.
**RotateAndStraighten**, Dəmir OCR-yə təkrar fırlanan deyil, mətn sənədlərinin fotoşəkilləri kimi perspektivi ehtiva edən bənzərsiz oxuma qabiliyyətini verən inkişaf etmiş bir ayardır.
**ReadBarcodes**, IronOCR-yə mətn oxuduğu üçün böyük bir əlavə vaxt **yükləmədən** avtomatik olaraq səhifələrdə barkodları və QR kodlarını oxumağa imkan verən faydalı bir xüsusiyyətdir.
**RəngDərinlik.** Bu parametr, bir rəngin dərinliyini təyin etmək üçün OCR kitabxanasının piksel başına neçə bit istifadə edəcəyini təyin edir. Daha yüksək rəng dərinliyi OCR keyfiyyətini artıra bilər, eyni zamanda OCR əməliyyatının başa çatması üçün lazım olan vaxtı da artıracaqdır.
## 126 Dil Paketi
IronOCR, [NuGet Paket Menecerindən](https://www.nuget.org/packages?q=IronOcr.Languages) yüklənə bilən DLL olaraq paylanan dil paketləri vasitəsilə **126 beynəlxalq dili** dəstəkləyir.
Dillər Alman, Fransız, İngilis, Çin, Yapon və daha çoxunu əhatə edir. MRZ pasportu, MICR çekləri, Maliyyə məlumatları, nömrələr və daha çoxu üçün mütəxəssis dil paketləri mövcuddur. Özünüz yaratdıqlarınız da daxil olmaqla hər hansı bir Tesseract ".traineddata" sənədindən də istifadə edə bilərsiniz.
### Dil nümunəsi
Digər OCR dillərindən istifadə.
```csharp
using IronOcr;
// PM> Install-Package IronOcr.Languages.Arabic
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// Lazım gələrsə şəkil filtrləri əlavə edin
// Bu vəziyyətdə düşünülmüş giriş belə çox keyfiyyətsizdir
// IronTesseract ənənəvi Tesseract-ın edə bilmədiklərini oxuya bilər.
var Result = Ocr.Read(input);
// Konsol ərəb dilini Windows-da asanlıqla çap edə bilmir.
// Bunun əvəzinə diskdə saxlayaq.
Result.SaveAsTextFile("arabic.txt");
}
```
### Çox dil nümunəsi
Eyni zamanda birdən çox dildən istifadə edərək OCR etmək mümkündür. Bu, həqiqətən Unicode sənədlərində ingilis dilində metadata və url əldə etməyə kömək edə bilər.
```csharp
using IronOcr;
// PM> Install-Package IronOcr.Languages.ChineseSimplified
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Azerbaijani);
// İstənilən sayda dil əlavə edə bilərik
using (var input = new OcrInput())
{
input.Add("multi-language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
```
## Ətraflı OCR nəticələri obyektləri
Dəmir OCR hər OCR əməliyyatı üçün bir OCR nəticə obyektini qaytarır. Ümumiyyətlə, inkişaf etdiricilər yalnız bu obyektin mətn xüsusiyyətini görüntüdən skan edilmiş mətn almaq üçün istifadə edirlər. Bununla birlikdə, OCR nəticələri DOM bundan daha inkişaf etmişdir.
```csharp
using IronOcr;
using System.Drawing; // Məclis İstinadını əlavə edin
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; // Vacibdir
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;
// Kütləvi, ətraflı bir API tapmaq üçün buranı araşdırın:
// - Səhifələr, bloklar, parafaflar, sətirlər, sözlər, işarələr
// - Görüntü İxracı, Şriftlər Koordinatları, Statistik Məlumat
}
```
## Performans
IronOCR performans tənzimləməsinə və ya giriş şəkillərini ağır şəkildə dəyişdirməyə ehtiyac olmadan qutudan kənarda işləyir.
Sürət parıldayır: IronOCR.2020 + 10 qat daha sürətli və əvvəlki istehsallardan 250% daha az səhv edir.
## Daha ətraflı
C#, VB, F# və ya digər hər hansı bir .NET dilində OCR haqqında daha çox məlumat əldə etmək üçün zəhmət olmasa Dəmir OCR-nin necə istifadə olunacağına dair real nümunələr verən [icma dərsliklərimizi oxuyun](/csharp/ocr/tutorials/how-to-read-text-from-an-image-in-csharp-net/) və ən yaxşısını necə əldə edə biləcəyinizi izah edin. bu kitabxana.
[.NET inkişaf etdiriciləri üçün](/csharp/ocr/object-reference/api/) tam bir [obyekt referansı](/csharp/ocr/object-reference/api/) da mövcuddur.
IronOCR .NET kodlayıcılarına şəkillərdən və PDF sənədlərindən mətni Azərbaycan dili daxil olmaqla 126 dildə oxumağa imkan verən C# proqram komponentidir.
Yalnızca .NET inkişaf etdiriciləri üçün qurulmuş və sürət və dəqiqlik baxımından digər Tesseract mühərriklərini üstələyən inkişaf etmiş bir Tesseract çəngəlidir.
Bu C# kod nümunəsi bir Image və ya PDF sənədindəki Azərbaycan mətnini oxuyur.
// PM> Install-Package IronOcr.Languages.Azerbaijaniusing IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Azerbaijani;using (varInput = new OcrInput(@"images\Azerbaijani.png")){ varResult = Ocr.Read(Input); varAllText = Result.Text;Console.WriteLine(AllText);}
// PM> Install-Package IronOcr.Languages.Azerbaijani
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput(@"images\Azerbaijani.png"))
{
var Result = Ocr.Read(Input);
var AllText = Result.Text;
Console.WriteLine(AllText);
}
' PM> Install-Package IronOcr.Languages.AzerbaijaniImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AzerbaijaniUsingInput = New OcrInput("images\Azerbaijani.png") DimResult = Ocr.Read(Input) DimAllText = Result.TextConsole.WriteLine(AllText)EndUsing
' PM> Install-Package IronOcr.Languages.Azerbaijani
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Azerbaijani
Using Input = New OcrInput("images\Azerbaijani.png")
Dim Result = Ocr.Read(Input)
Dim AllText = Result.Text
Console.WriteLine(AllText)
End Using
Niyə IronOCR seçməlisiniz?
IronOCR, qurulması asan, tam və sənədləşdirilmiş .NET proqram kitabxanasıdır.
Heç bir xarici veb xidmətindən istifadə etmədən, davam edən ödənişlərdən və ya internet üzərindən məxfi sənədlər göndərmədən % 99.8 + OCR dəqiqliyinə nail olmaq üçün IronOCR seçin.
Nə üçün C# inkişaf etdiriciləri Vanilla Tesseract əvəzinə IronOCR seçirlər:
Tək bir DLL və ya NuGet kimi quraşdırın
Qutudan çıxan Tesseract 5, 4 və 3 mühərrikləri üçün daxildir.
Dəqiqlik % 99,8 normal Tesseract-dan əhəmiyyətli dərəcədə üstündür.
Parlaq Sürət və MultiThreading
MVC, WebApp, Masaüstü, Konsol və Server Tətbiqinə uyğundur
İşləmək üçün Exes və ya C++ kodu yoxdur
Tam PDF OCR dəstəyi
OCR-i demək olar ki, hər hansı bir Şəkil faylı və ya PDF şəklində yerinə yetirmək üçün
126 beynəlxalq dil, hamısı NuGet və ya OcrData faylları vasitəsi ilə idarə olunur
Şəkillər, Koordinatlar, Statistika və Yazı tiplərini çıxarın. Yalnız mətn deyil.
Ticarət və mülkiyyət tətbiqetmələrində Tesseract OCR-nin yenidən paylanması üçün istifadə edilə bilər.
IronOCR, real dünya şəkilləri və fotoşəkil kimi qüsurlu sənədlərlə və ya rəqəmsal səs-küy və ya qüsurlu ola biləcək aşağı çözünürlüklü taramalarla işləyərkən parlayır.
.NET platforması üçün digər pulsuz OCR kitabxanaları, digər .NET Tesseract API və veb xidmətləri bu real dünya istifadəsi hallarında o qədər də yaxşı nəticə vermir.
Tesseract 5 ilə OCR - C# ilə kodlamaya başlayın
Aşağıdakı kod nümunəsi C# və ya VB .NET istifadə edərək bir görüntüdən mətn oxumağın nə qədər asan olduğunu göstərir.
OneLiner
stringText = new IronTesseract().Read(@"img\Screenshot.png").Text;
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
DimTextAsString = (New IronTesseract()).Read("img\Screenshot.png").Text
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
Yapılandırılabilir Salam Dünya
// PM> Install-Package IronOcr.Languages.Azerbaijaniusing IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Azerbaijani;using (varInput = new OcrInput()){Input.AddImage("images/sample.jpeg"); // ... istənilən sayda şəkil əlavə edə bilərsiniz varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
// PM> Install-Package IronOcr.Languages.Azerbaijani
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput())
{
Input.AddImage("images/sample.jpeg");
// ... istənilən sayda şəkil əlavə edə bilərsiniz
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOcr.Languages.AzerbaijaniImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AzerbaijaniUsingInput = New OcrInput()Input.AddImage("images/sample.jpeg") ' ... istənilən sayda şəkil əlavə edə bilərsiniz DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
' PM> Install-Package IronOcr.Languages.Azerbaijani
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Azerbaijani
Using Input = New OcrInput()
Input.AddImage("images/sample.jpeg")
' ... istənilən sayda şəkil əlavə edə bilərsiniz
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
C# PDF OCR
Eyni yanaşma hər hansı bir PDF sənədindən mətn çıxarmaq üçün də istifadə edilə bilər.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Azerbaijani;using (var input = new OcrInput()){ input.AddPdf("example.pdf", "password"); // OCR-ə xüsusi PDF səhifə nömrələrini də seçə bilərik varResult = Ocr.Read(input);Console.WriteLine(Result.Text);Console.WriteLine($"{Result.Pages.Count} Pages"); // PDF-nin hər səhifəsi üçün 1 səhifə}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// OCR-ə xüsusi PDF səhifə nömrələrini də seçə bilərik
var Result = Ocr.Read(input);
Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count} Pages");
// PDF-nin hər səhifəsi üçün 1 səhifə
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AzerbaijaniUsing input = New OcrInput() input.AddPdf("example.pdf", "password") ' OCR-ə xüsusi PDF səhifə nömrələrini də seçə bilərik DimResult = Ocr.Read(input)Console.WriteLine(Result.Text)Console.WriteLine($"{Result.Pages.Count} Pages") ' PDF-nin hər səhifəsi üçün 1 səhifəEndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Azerbaijani
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' OCR-ə xüsusi PDF səhifə nömrələrini də seçə bilərik
Dim Result = Ocr.Read(input)
Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count} Pages")
' PDF-nin hər səhifəsi üçün 1 səhifə
End Using
MultiPage TIFF-lər üçün OCR
Çox səhifə sənədləri daxil olmaqla OCR TIFF fayl formatını oxumaq. TIFF də axtarış mətni ilə birbaşa PDF sənədinə çevrilə bilər.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Azerbaijani;using (varInput = new OcrInput()){Input.AddMultiFrameTiff("multi-frame.tiff"); varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("multi-frame.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AzerbaijaniUsingInput = New OcrInput()Input.AddMultiFrameTiff("multi-frame.tiff") DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Azerbaijani
Using Input = New OcrInput()
Input.AddMultiFrameTiff("multi-frame.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Barkodlar və QR
Dəmir OCR-nin bənzərsiz bir xüsusiyyəti mətni axtararkən sənədlərdən barkodları və QR kodlarını oxuya bilər. OcrResult.OcrBarcode Sınıfı, inkişaf etdiriciyə hər skan edilmiş barkod haqqında ətraflı məlumat verir.
using IronOcr;varOcr = new IronTesseract();Ocr.Configuration.ReadBarCodes = true;using (var input = new OcrInput()){ input.AddImage("img/Barcode.png"); varResult = Ocr.Read(input); foreach (varBarcodeinResult.Barcodes) {Console.WriteLine(Barcode.Value); // növ və yer xüsusiyyətləri də ifşa edildi }}
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);
// növ və yer xüsusiyyətləri də ifşa edildi
}
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Configuration.ReadBarCodes = TrueUsing input = New OcrInput() input.AddImage("img/Barcode.png") DimResult = Ocr.Read(input) For EachBarcodeInResult.BarcodesConsole.WriteLine(Barcode.Value) ' növ və yer xüsusiyyətləri də ifşa edildi NextBarcodeEndUsing
Imports IronOcr
Private 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)
' növ və yer xüsusiyyətləri də ifşa edildi
Next Barcode
End Using
Xüsusi Şəkillər Sahələrində OCR
Bütün IronOCR-nin tarama və oxu metodları bir səhifənin və ya səhifələrin hansı hissəsindən mətn oxumaq istədiyimizi dəqiq müəyyənləşdirmək imkanı verir. Bu standartlaşdırılmış formaları nəzərdən keçirdiyimiz zaman çox faydalıdır və çox vaxta qənaət edə və səmərəliliyi artıra bilər.
Məhsul bölgələrini istifadə etmək üçün System.Drawing ə bir sistem əlavə etməliyik ki, System.Drawing.Rectangle obyektini istifadə edə bilək.
using IronOcr;using System.Drawing;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Azerbaijani;using (varInput = new OcrInput()){ varContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 }; // Ölçülər px şəklindədirInput.Add("document.png", ContentArea); varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
using IronOcr;
using System.Drawing;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Ölçülər px şəklindədir
Input.Add("document.png", ContentArea);
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
ImportsIronOcrImportsSystem.DrawingPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AzerbaijaniUsingInput = New OcrInput() DimContentArea = New System.Drawing.Rectangle() With { .X = 215, .Y = 1250, .Height = 280, .Width = 1335 } ' Ölçülər px şəklindədirInput.Add("document.png", ContentArea) DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
Imports IronOcr
Imports System.Drawing
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Azerbaijani
Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
' Ölçülər px şəklindədir
Input.Add("document.png", ContentArea)
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Aşağı keyfiyyətli taramalar üçün OCR
IronOCR OcrInput sinfi normal Tesseract'in oxuya bilmədiyi taramaları düzəldə bilər.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Azerbaijani;using (varInput = new OcrInput(@"img\Potter.LowQuality.tiff")){Input.DeNoise(); // rəqəmsal səs-küy və zəif tarama düzəldirInput.Deskew(); // fırlanma və perspektivi düzəldir varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
Input.DeNoise(); // rəqəmsal səs-küy və zəif tarama düzəldir
Input.Deskew(); // fırlanma və perspektivi düzəldir
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AzerbaijaniUsingInput = New OcrInput("img\Potter.LowQuality.tiff")Input.DeNoise() ' rəqəmsal səs-küy və zəif tarama düzəldirInput.Deskew() ' fırlanma və perspektivi düzəldir DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Azerbaijani
Using Input = New OcrInput("img\Potter.LowQuality.tiff")
Input.DeNoise() ' rəqəmsal səs-küy və zəif tarama düzəldir
Input.Deskew() ' fırlanma və perspektivi düzəldir
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
OCR nəticələrini Aranabilir PDF olaraq ixrac edin
Kopyalanan mətn simləri ilə PDF şəkli. Axtarış motorları və verilənlər bazaları tərəfindən indeksləşdirilə bilər.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Azerbaijani;using (varInput = new OcrInput()){ input.Title = "Quarterly Report"; input.AddImage("image1.jpeg"); input.AddImage("image2.png"); input.AddImage("image3.gif"); varResult = Ocr.Read(input);Result.SaveAsSearchablePdf("searchable.pdf");}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
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");
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AzerbaijaniUsingInput = New OcrInput() input.Title = "Quarterly Report" input.AddImage("image1.jpeg") input.AddImage("image2.png") input.AddImage("image3.gif") DimResult = Ocr.Read(input)Result.SaveAsSearchablePdf("searchable.pdf")EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Azerbaijani
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-dən axtarılan PDF Konversiyasına
TIFF sənədini (və ya hər hansı bir şəkil sənəd qrupunu) birbaşa intranet, veb sayt və google axtarış motorları ilə indeksləşdirilə bilən axtarışa verilən bir PDF-yə köçürün.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Azerbaijani;using (varInput = new OcrInput()){Input.AddMultiFrameTiff("example.tiff"); varResult = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf");}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("example.tiff");
var Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf");
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AzerbaijaniUsingInput = New OcrInput()Input.AddMultiFrameTiff("example.tiff") DimResult = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf")EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Azerbaijani
Using Input = New OcrInput()
Input.AddMultiFrameTiff("example.tiff")
Dim Result = Ocr.Read(Input).SaveAsSearchablePdf("searchable.pdf")
End Using
OCR nəticələrini HTML olaraq ixrac edin
OCR görüntüsünü XHTML-ə çevirmək.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Azerbaijani;using (varInput = new OcrInput()){ input.Title = "Html Title"; input.AddImage("image1.jpeg"); varResult = Ocr.Read(input);Result.SaveAsHocrFile("results.html");}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput())
{
input.Title = "Html Title";
input.AddImage("image1.jpeg");
var Result = Ocr.Read(input);
Result.SaveAsHocrFile("results.html");
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AzerbaijaniUsingInput = New OcrInput() input.Title = "Html Title" input.AddImage("image1.jpeg") DimResult = Ocr.Read(input)Result.SaveAsHocrFile("results.html")EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Azerbaijani
Using Input = New OcrInput()
input.Title = "Html Title"
input.AddImage("image1.jpeg")
Dim Result = Ocr.Read(input)
Result.SaveAsHocrFile("results.html")
End Using
OCR görüntü genişləndirmə filtrləri
IronOCR, OCR performansını yaxşılaşdırmaq üçün OcrInput obyektləri üçün unikal filtrlər təqdim edir.
Şəkil genişləndirmə kodu nümunəsi
Daha yaxşı, daha sürətli OCR nəticələri əldə etmək üçün OCR giriş şəkillərini daha keyfiyyətli edir.
using IronOcr;varOcr = new IronTesseract();Ocr.Language = OcrLanguage.Azerbaijani;using (varInput = new OcrInput(@"LowQuality.jpeg")){Input.DeNoise(); // rəqəmsal səs-küy və zəif tarama düzəldirInput.Deskew(); // fırlanma və perspektivi düzəldir varResult = Ocr.Read(Input);Console.WriteLine(Result.Text);}
using IronOcr;
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
Input.DeNoise(); // rəqəmsal səs-küy və zəif tarama düzəldir
Input.Deskew(); // fırlanma və perspektivi düzəldir
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
ImportsIronOcrPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AzerbaijaniUsingInput = New OcrInput("LowQuality.jpeg")Input.DeNoise() ' rəqəmsal səs-küy və zəif tarama düzəldirInput.Deskew() ' fırlanma və perspektivi düzəldir DimResult = Ocr.Read(Input)Console.WriteLine(Result.Text)EndUsing
Imports IronOcr
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Azerbaijani
Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' rəqəmsal səs-küy və zəif tarama düzəldir
Input.Deskew() ' fırlanma və perspektivi düzəldir
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
OCR şəkil filtrlərinin siyahısı
IronOCR-da quraşdırılmış OCR performansını artırmaq üçün giriş filtrlərinə aşağıdakılar daxildir:
OcrInput.Rotate(double degree) - Şəkilləri saat istiqamətində bir neçə dərəcə ilə çevirir. Saat yönünün əksinə mənfi rəqəmlərdən istifadə edin.
OcrInput.Binarize() - Bu şəkil süzgəci hər pikselin ortası olmayan qara və ya ağ rəngə çevrilir. Mətnin fonla çox aşağı kontrastlı OCR performans hallarını inkişaf etdirə bilər.
OcrInput.ToGrayScale() - Bu şəkil filtri hər pikselin rəngini kölgəyə çevirir. OCR dəqiqliyini yaxşılaşdırmaq ehtimalı yoxdur, lakin sürəti artıra bilər.
OcrInput.Contrast() - Kontrastı avtomatik olaraq artırır. Bu filtr tez-tez aşağı kontrastlı taramalarda OCR sürətini və dəqiqliyini artırır.
OcrInput.DeNoise() - Rəqəmsal səsləri aradan qaldırır. Bu filtr yalnız səs-küy gözlənilən yerdə istifadə olunmalıdır.
OcrInput.Invert() - Hər rəngi tərs çevirir. Məsələn Ağ qara olur: qara ağ olur.
OcrInput.Dilate() - Ətraflı Morfologiya. Dilatasiya bir görüntüdəki obyektlərin sərhədlərinə piksel əlavə edir. Erode ilə üzbəüz.
OcrInput.Erode() - Ətraflı Morfologiya. Eroziya, obyekt sərhədlərindəki pikselləri silər, əksinə Dilate.
OcrInput.Deskew() - Görünüşü doğru yola və ortogonal olduğu üçün döndürür. Bu, OCR üçün çox faydalıdır, çünki əyilmiş taramalar üçün Tesseract toleransı 5 dərəcə qədər ola bilər.
OcrInput.DeepCleanBackgroundNoise() - Ağır fon səs-küyünün çıxarılması. Bu filtri yalnız həddindən artıq sənəd fon səs-küyünün bilinməsi halında istifadə edin, çünki bu filtr təmiz sənədlərin OCR dəqiqliyini azaltmaq riski daşıyacaq və CPU çox bahalıdır.
OcrInput.EnhanceResolution - Aşağı keyfiyyətli şəkillərin qətnaməsini artırır. OcrInput.MinimumDPI və OcrInput.TargetDPI avtomatik olaraq aşağı çözünürlüklü girişləri tutub həll edəcəyi üçün bu filtrə tez-tez ehtiyac yoxdur.
CleanBackgroundNoise. Bu bir qədər vaxt aparan bir ayardır; bununla birlikdə kitabxanaya rəqəmsal səs içərisindəki rəqəmsal səs-küyləri, kağız qırışlarını və digər qüsurları avtomatik olaraq digər OCR kitabxanaları tərəfindən oxunma qabiliyyətinə səbəb ola biləcək şəkildə təmizləməyə imkan verir.
EnhanceContrast, Dəmir OCR-nin bir şəkil fonunda mətnin kontrastını avtomatik olaraq artırmasına, OCR-nin dəqiqliyini artırmasına və ümumiyyətlə OCR-nin performansını və sürətini artırmasına səbəb olan bir ayardır.
EnhanceResolution, aşağı çözünürlüklü şəkilləri (275 dpi-dən aşağı) avtomatik olaraq aşkar edəcək və görüntüyü avtomatik olaraq yüksək səviyyəyə qaldıracaq və sonra OCR kitabxanası tərəfindən mükəmməl oxunması üçün bütün mətni kəskinləşdirən bir ayardır. Bu əməliyyat özlüyündə çox vaxt aparsa da, ümumiyyətlə bir görüntü üzərində bir OCR əməliyyatı üçün ümumi vaxtı azaldır.
Dil Dəmir OCR, 22 beynəlxalq dil paketini dəstəkləyir və dil ayarı, bir OCR əməliyyatı üçün tətbiq ediləcək bir və ya daha çox dil seçmək üçün istifadə edilə bilər.
Strategy IronOCR iki strategiyanı dəstəkləyir. Ya bir sənədin sürətli və daha az dəqiq bir taramasına gedə bilərik, ya da bir cümlə içərisində sözlərin bir-birinə olan statistik əlaqəsinə baxaraq OCR mətninin dəqiqliyini avtomatik olaraq artırmaq üçün bəzi süni zəka modellərindən istifadə edən inkişaf etmiş bir strategiyadan istifadə edə bilərik.
ColorSpace, boz tonda və ya rəngdə OCR seçə biləcəyimiz bir ayardır. Ümumiyyətlə, gri tonlama ən yaxşı seçimdir. Lakin bəzən oxşar rəngli, lakin çox fərqli rəngli mətnlər və ya arxa planlar olduqda tam rəngli rəng sahəsi daha yaxşı nəticələr verəcəkdir.
WhiteTextOnDarkBackgrounds aşkarlayın. Ümumiyyətlə, bütün OCR kitabxanaları ağ fonlarda qara mətn görməsini gözləyirlər. Bu parametr Dəmir OCR-yə neqativləri və ya ağ mətnli qaranlıq səhifələri avtomatik olaraq aşkar edib oxumağa imkan verir.
InputImageType. Bu parametr, geliştiricinin OCR kitabxanasına tam bir sənəd və ya ekran görüntüsü kimi bir parçaya baxıb-baxmadığına dair rəhbərlik etməsinə imkan verir.
RotateAndStraighten, Dəmir OCR-yə təkrar fırlanan deyil, mətn sənədlərinin fotoşəkilləri kimi perspektivi ehtiva edən bənzərsiz oxuma qabiliyyətini verən inkişaf etmiş bir ayardır.
ReadBarcodes, IronOCR-yə mətn oxuduğu üçün böyük bir əlavə vaxt yükləmədən avtomatik olaraq səhifələrdə barkodları və QR kodlarını oxumağa imkan verən faydalı bir xüsusiyyətdir.
RəngDərinlik. Bu parametr, bir rəngin dərinliyini təyin etmək üçün OCR kitabxanasının piksel başına neçə bit istifadə edəcəyini təyin edir. Daha yüksək rəng dərinliyi OCR keyfiyyətini artıra bilər, eyni zamanda OCR əməliyyatının başa çatması üçün lazım olan vaxtı da artıracaqdır.
126 Dil Paketi
IronOCR, NuGet Paket Menecerindən yüklənə bilən DLL olaraq paylanan dil paketləri vasitəsilə 126 beynəlxalq dili dəstəkləyir.
Dillər Alman, Fransız, İngilis, Çin, Yapon və daha çoxunu əhatə edir. MRZ pasportu, MICR çekləri, Maliyyə məlumatları, nömrələr və daha çoxu üçün mütəxəssis dil paketləri mövcuddur. Özünüz yaratdıqlarınız da daxil olmaqla hər hansı bir Tesseract ".traineddata" sənədindən də istifadə edə bilərsiniz.
Dil nümunəsi
Digər OCR dillərindən istifadə.
using IronOcr;// PM> Install-Package IronOcr.Languages.ArabicvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Arabic;using (var input = new OcrInput()){ input.AddImage("img/arabic.gif"); // Lazım gələrsə şəkil filtrləri əlavə edin // Bu vəziyyətdə düşünülmüş giriş belə çox keyfiyyətsizdir // IronTesseract ənənəvi Tesseract-ın edə bilmədiklərini oxuya bilər. varResult = Ocr.Read(input); // Konsol ərəb dilini Windows-da asanlıqla çap edə bilmir. // Bunun əvəzinə diskdə saxlayaq.Result.SaveAsTextFile("arabic.txt");}
using IronOcr;
// PM> Install-Package IronOcr.Languages.Arabic
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Arabic;
using (var input = new OcrInput())
{
input.AddImage("img/arabic.gif");
// Lazım gələrsə şəkil filtrləri əlavə edin
// Bu vəziyyətdə düşünülmüş giriş belə çox keyfiyyətsizdir
// IronTesseract ənənəvi Tesseract-ın edə bilmədiklərini oxuya bilər.
var Result = Ocr.Read(input);
// Konsol ərəb dilini Windows-da asanlıqla çap edə bilmir.
// Bunun əvəzinə diskdə saxlayaq.
Result.SaveAsTextFile("arabic.txt");
}
ImportsIronOcr' PM> Install-Package IronOcr.Languages.ArabicPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.ArabicUsing input = New OcrInput() input.AddImage("img/arabic.gif") ' Lazım gələrsə şəkil filtrləri əlavə edin ' Bu vəziyyətdə düşünülmüş giriş belə çox keyfiyyətsizdir ' IronTesseract ənənəvi Tesseract-ın edə bilmədiklərini oxuya bilər. DimResult = Ocr.Read(input) ' Konsol ərəb dilini Windows-da asanlıqla çap edə bilmir. ' Bunun əvəzinə diskdə saxlayaq.Result.SaveAsTextFile("arabic.txt")EndUsing
Imports IronOcr
' PM> Install-Package IronOcr.Languages.Arabic
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
Using input = New OcrInput()
input.AddImage("img/arabic.gif")
' Lazım gələrsə şəkil filtrləri əlavə edin
' Bu vəziyyətdə düşünülmüş giriş belə çox keyfiyyətsizdir
' IronTesseract ənənəvi Tesseract-ın edə bilmədiklərini oxuya bilər.
Dim Result = Ocr.Read(input)
' Konsol ərəb dilini Windows-da asanlıqla çap edə bilmir.
' Bunun əvəzinə diskdə saxlayaq.
Result.SaveAsTextFile("arabic.txt")
End Using
Çox dil nümunəsi
Eyni zamanda birdən çox dildən istifadə edərək OCR etmək mümkündür. Bu, həqiqətən Unicode sənədlərində ingilis dilində metadata və url əldə etməyə kömək edə bilər.
using IronOcr;// PM> Install-Package IronOcr.Languages.ChineseSimplifiedvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.ChineseSimplified;Ocr.AddSecondaryLanguage(OcrLanguage.Azerbaijani);// İstənilən sayda dil əlavə edə bilərikusing (var input = new OcrInput()){ input.Add("multi-language.pdf"); varResult = Ocr.Read(input);Result.SaveAsTextFile("results.txt");}
using IronOcr;
// PM> Install-Package IronOcr.Languages.ChineseSimplified
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.ChineseSimplified;
Ocr.AddSecondaryLanguage(OcrLanguage.Azerbaijani);
// İstənilən sayda dil əlavə edə bilərik
using (var input = new OcrInput())
{
input.Add("multi-language.pdf");
var Result = Ocr.Read(input);
Result.SaveAsTextFile("results.txt");
}
ImportsIronOcr' PM> Install-Package IronOcr.Languages.ChineseSimplifiedPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.ChineseSimplifiedOcr.AddSecondaryLanguage(OcrLanguage.Azerbaijani)' İstənilən sayda dil əlavə edə bilərikUsing input = New OcrInput() input.Add("multi-language.pdf") DimResult = Ocr.Read(input)Result.SaveAsTextFile("results.txt")EndUsing
Imports IronOcr
' PM> Install-Package IronOcr.Languages.ChineseSimplified
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.ChineseSimplified
Ocr.AddSecondaryLanguage(OcrLanguage.Azerbaijani)
' İstənilən sayda dil əlavə edə bilərik
Using input = New OcrInput()
input.Add("multi-language.pdf")
Dim Result = Ocr.Read(input)
Result.SaveAsTextFile("results.txt")
End Using
Ətraflı OCR nəticələri obyektləri
Dəmir OCR hər OCR əməliyyatı üçün bir OCR nəticə obyektini qaytarır. Ümumiyyətlə, inkişaf etdiricilər yalnız bu obyektin mətn xüsusiyyətini görüntüdən skan edilmiş mətn almaq üçün istifadə edirlər. Bununla birlikdə, OCR nəticələri DOM bundan daha inkişaf etmişdir.
using IronOcr;using System.Drawing; // Məclis İstinadını əlavə edinvarOcr = new IronTesseract();Ocr.Language = OcrLanguage.Azerbaijani;Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;Ocr.Configuration.ReadBarCodes = true; // Vacibdirusing (varInput = new OcrInput(@"images\sample.tiff")){ OcrResultResult = Ocr.Read(Input); varPages = Result.Pages; varWords = Pages[0].Words; varBarcodes = Result.Barcodes; // Kütləvi, ətraflı bir API tapmaq üçün buranı araşdırın: // - Səhifələr, bloklar, parafaflar, sətirlər, sözlər, işarələr // - Görüntü İxracı, Şriftlər Koordinatları, Statistik Məlumat}
using IronOcr;
using System.Drawing; // Məclis İstinadını əlavə edin
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Azerbaijani;
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
Ocr.Configuration.ReadBarCodes = true; // Vacibdir
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;
// Kütləvi, ətraflı bir API tapmaq üçün buranı araşdırın:
// - Səhifələr, bloklar, parafaflar, sətirlər, sözlər, işarələr
// - Görüntü İxracı, Şriftlər Koordinatları, Statistik Məlumat
}
ImportsIronOcrImportsSystem.Drawing' Məclis İstinadını əlavə edinPrivateOcr = New IronTesseract()Ocr.Language = OcrLanguage.AzerbaijaniOcr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstmOcr.Configuration.ReadBarCodes = True ' VacibdirUsingInput = New OcrInput("images\sample.tiff") DimResultAsOcrResult = Ocr.Read(Input) DimPages = Result.Pages DimWords = Pages(0).Words DimBarcodes = Result.Barcodes ' Kütləvi, ətraflı bir API tapmaq üçün buranı araşdırın: ' - Səhifələr, bloklar, parafaflar, sətirlər, sözlər, işarələr ' - Görüntü İxracı, Şriftlər Koordinatları, Statistik MəlumatEndUsing
Imports IronOcr
Imports System.Drawing ' Məclis İstinadını əlavə edin
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Azerbaijani
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
Ocr.Configuration.ReadBarCodes = True ' Vacibdir
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
' Kütləvi, ətraflı bir API tapmaq üçün buranı araşdırın:
' - Səhifələr, bloklar, parafaflar, sətirlər, sözlər, işarələr
' - Görüntü İxracı, Şriftlər Koordinatları, Statistik Məlumat
End Using
Performans
IronOCR performans tənzimləməsinə və ya giriş şəkillərini ağır şəkildə dəyişdirməyə ehtiyac olmadan qutudan kənarda işləyir.
Sürət parıldayır: IronOCR.2020 + 10 qat daha sürətli və əvvəlki istehsallardan 250% daha az səhv edir.
Daha ətraflı
C#, VB, F# və ya digər hər hansı bir .NET dilində OCR haqqında daha çox məlumat əldə etmək üçün zəhmət olmasa Dəmir OCR-nin necə istifadə olunacağına dair real nümunələr verən icma dərsliklərimizi oxuyun və ən yaxşısını necə əldə edə biləcəyinizi izah edin. bu kitabxana.
Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.