Беларускае OCR у C#і .Net

Іншыя версіі гэтага дакумента:

IronOCR - гэта праграмны кампанент C #, які дазваляе .NET-кодэрам чытаць тэкст з малюнкаў і PDF-дакументаў на 126 мовах, уключаючы беларускую.

Гэта ўдасканалены відэлец Tesseract, распрацаваны выключна для распрацоўшчыкаў .NET і рэгулярна пераўзыходзіць астатнія рухавікі Tesseract як па хуткасці, так і па дакладнасці.

Змест IronOcr.Languages.Belarusian

Гэты пакет утрымлівае 55 моў OCR для .NET:

  • Беларуская
  • БеларускіЛепшы
  • БеларускіХуткі

Спампаваць

Беларускі моўны пакет [беларуская мова]
* Download as Паштовы індэкс
* Install with as
https://www.nuget.org/packages/IronOcr.Languages.Belarusian/'> NuGet

Ўстаноўка

Першае, што нам трэба зрабіць, гэта ўсталяваць наш беларускі OCR-пакет у ваш .NET-праект.

PM> Install-Package IronOCR.Languages.Belarusian

Прыклад кода

Гэты прыклад кода C#чытае беларускі тэкст з дакумента Image або PDF.

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

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

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

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

Чаму абраць IronOCR?

Iron OCR - простая ва ўсталёўцы, поўная і добра дакументаваная бібліятэка праграмнага забеспячэння .NET.

Выберыце IronOCR, каб дасягнуць дакладнасці 99,8% + OCR без выкарыстання якіх-небудзь знешніх вэб-сэрвісаў, пастаянных збораў і адпраўкі канфідэнцыйных дакументаў праз Інтэрнэт.

Чаму распрацоўшчыкі C#выбіраюць IronOCR перад ванільным тэсэрактам:

  • Усталюйце як адну DLL альбо Nuget
  • Уключае ў сябе рухавікі Tesseract 5, 4 і 3 з камплектацыі.
  • Дакладнасць 99,8% значна пераўзыходзіць звычайны тэсэракт.
  • Дзіўная хуткасць і шматпрофільнасць
  • Сумяшчальнасць з MVC, WebApp, працоўным сталом, кансоллю і серверным дадаткам
  • Няма 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
  • Выманне малюнкаў, каардынат, статыстыкі і шрыфтоў. Не толькі тэкст.
  • Можа выкарыстоўвацца для распаўсюджвання OCR Tesseract у камерцыйных і ўласных праграмах.

OCR ззяе з жалеза пры працы з выявамі з рэальнага свету і недасканалымі дакументамі, напрыклад, фотаздымкамі альбо сканаваннямі з нізкім дазволам, якія могуць мець лічбавыя шумы альбо недасканаласці.

Іншыя бясплатныя бібліятэкі OCR для платформы .NET, такія як іншыя API .net tesseract і вэб-сэрвісы, не вельмі эфектыўна працуюць у гэтых выпадках выкарыстання ў рэальным свеце.

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#

Наладжвальны Hello World

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Belarusian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... вы можаце дадаць любую колькасць малюнкаў
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Belarusian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Belarusian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... вы можаце дадаць любую колькасць малюнкаў
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Belarusian
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Belarusian
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.Belarusian;
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.Belarusian;
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.Belarusian
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
VB   C#

OCR для шматстаронкавых TIFF

Чытанне фармата OCR у фармаце TIFF, уключаючы шматстаронкавыя дакументы. TIFF таксама можна пераўтварыць непасрэдна ў файл PDF з тэкстам для пошуку.

using IronOcr;

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

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.Belarusian;

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.Belarusian

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

Штрых-коды і QR

Унікальнай асаблівасцю Iron OCR з'яўляецца тое, што ён можа счытваць штрых-коды і 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
VB   C#

OCR па пэўных галінах малюнкаў

Усе метады сканавання і счытвання OCR з дапамогай Iron OCR дазваляюць дакладна ўказаць, з якой часткі старонкі ці старонак мы хочам прачытаць тэкст. Гэта вельмі карысна, калі мы разглядаем стандартызаваныя формы і можам зэканоміць вельмі шмат часу і павысіць эфектыўнасць.

Каб выкарыстоўваць рэгіёны ўраджаю, нам трэба будзе дадаць сістэмную спасылку на System.Drawing каб мы маглі выкарыстоўваць аб'ект System.Drawing.Rectangle .

using IronOcr;

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

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.Belarusian;

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.Belarusian

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 для сканавання нізкай якасці

Клас Iron OCR OcrInput можа выправіць сканаванне, якое звычайны Tesseract не можа прачытаць.

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

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.Belarusian;

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.Belarusian

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.Belarusian;

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.Belarusian;

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.Belarusian

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-файл для пошуку, які можна праіндэксаваць у інтрасеці, на вэб-сайтах і ў пошукавых сістэмах Google.

using IronOcr;

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

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.Belarusian;

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.Belarusian

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.Belarusian;
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.Belarusian;
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.Belarusian
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.Belarusian;

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.Belarusian;

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.Belarusian

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 () - Пашыраная марфалогія. Пашырэнне дадае пікселі да межаў аб'ектаў на малюнку. Насупраць Erode
  • OcrInput.Erode () - Пашыраная марфалогія. Эрозія выдаляе пікселі на межах аб'екта насупраць пашыранага
  • 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 для мовы Iron падтрымлівае 22 міжнародныя моўныя пакеты, і налада мовы можа быць выкарыстана для выбару адной або некалькіх моў, якія будуць прымяняцца для аперацыі OCR.

Стратэгія Iron OCR падтрымлівае дзве стратэгіі. Мы можам выбраць альбо хуткае і менш дакладнае сканаванне дакумента, альбо выкарыстоўваць прасунутую стратэгію, якая выкарыстоўвае некаторыя мадэлі штучнага інтэлекту для аўтаматычнага павышэння дакладнасці тэксту OCR, разглядаючы статыстычную сувязь слоў паміж сабой у сказе. .

ColorSpace - гэта параметр, пры якім мы можам выбраць OCR у адценнях шэрага ці ў колеры. Наогул, адценні шэрага - гэта лепшы варыянт. Аднак часам, калі ёсць тэксты альбо фоны падобнага адцення, але вельмі рознага колеру, поўнакаляровая каляровая прастора дасць лепшыя вынікі.

DetectWhiteTextOnDarkBackgrounds. Як правіла, усе бібліятэкі OCR чакаюць чорнага тэксту на белым фоне. Гэты параметр дазваляе Iron OCR аўтаматычна выяўляць мінусы альбо цёмныя старонкі з белым тэкстам і счытваць іх.

InputImageType. Гэты параметр дазваляе распрацоўшчыку накіроўваць бібліятэку OCR на тое, ці праглядае яна поўны дакумент альбо фрагмент, напрыклад скрыншот.

RotateAndStraighten - гэта ўдасканалены параметр, які дазваляе Iron OCR унікальную магчымасць чытаць дакументы, якія не толькі паварочваюцца, але, магчыма, і ўтрымліваюць перспектыву, напрыклад, фатаграфіі тэкставых дакументаў.

ReadBarcode - карысная функцыя, якая дазваляе Iron OCR аўтаматычна счытваць штрых-коды і QR-коды на старонках, бо ён таксама счытвае тэкст, не дадаючы вялікай дадатковай часовай нагрузкі.

Глыбіня колеру. Гэты параметр вызначае, колькі біт на піксель будзе выкарыстоўваць бібліятэка OCR для вызначэння глыбіні колеру. Большая глыбіня колеру можа павялічыць якасць OCR, але таксама павялічыць час, неабходны для завяршэння аперацыі OCR.

126 Моўныя пакеты

Iron OCR падтрымлівае 126 міжнародных моў праз моўныя пакеты, якія распаўсюджваюцца ў выглядзе DLL- файлаў , якія можна загрузіць з гэтага вэб-сайта альбо з дыспетчара пакетаў NuGet .

Мовы ўключаюць нямецкую, французскую, англійскую, кітайскую, японскую і шмат іншых. Спецыялізаваныя моўныя пакеты існуюць для пашпартных MRZ, чэкаў MICR, фінансавых дадзеных, нумароў і многіх іншых. Вы таксама можаце выкарыстоўваць любы файл ".traineddata" tesseract - уключаючы тыя, якія ствараеце самі.

Моўны прыклад

Выкарыстанне іншых моў 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.Belarusian);

// Мы можам дадаць любую колькасць моў

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.Belarusian);

// Мы можам дадаць любую колькасць моў

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.Belarusian)

' Мы можам дадаць любую колькасць моў

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

Падрабязныя аб'екты вынікаў OCR

Iron OCR вяртае аб'ект выніка OCR для кожнай аперацыі OCR. Як правіла, распрацоўшчыкі выкарыстоўваюць толькі ўласцівасць тэксту гэтага аб'екта, каб сканаваць тэкст з выявы. Аднак вынікі OCR DOM значна больш прасунутыя, чым гэта.

using IronOcr;
using System.Drawing; //Дадайце спасылку на зборку

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Belarusian;
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.Belarusian;
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.Belarusian
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 таксама даступная.