C#және .NET жүйелеріндегі қазақша OCR

Осы құжаттың басқа нұсқалары:

IronOCR - бұл .NET кодерлеріне кескіндерден және PDF құжаттарынан 126 тілде, соның ішінде қазақ тілінде мәтін оқуға мүмкіндік беретін C#бағдарламалық жасақтамасы.

Бұл тек .NET әзірлеушілері үшін жасалған және жылдамдығы мен дәлдігі бойынша басқа Tesseract қозғалтқыштарынан үнемі озып тұратын Tesseract жетілдірілген ашасы.

IronOcr.Тілдердің мазмұны.Қазақ

Бұл пакетте .NET үшін 43 OCR тілі бар:

  • Қазақ
  • KazakhBest
  • KazakhFast

Жүктеу

Қазақ тілінің бумасы [қазақ тілі]
* Download as Zip
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Kazakh/'> NuGet

Орнату

Біз істеу керек бірінші нәрсе сіздің .NET жоба біздің қазақ OCR пакеті орнату болып табылады.

PM> Install-Package IronOCR.Languages.Kazakh

Код мысалы

Бұл C#код мысалы мысалда кескін немесе PDF құжатындағы қазақша мәтінді оқиды.

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

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

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

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

Неліктен IronOCR таңдау керек?

IronOCR - бұл оңай орнатылатын, толық және жақсы құжатталған .NET бағдарламалық кітапханасы.

99,8% + OCR дәлдігіне қол жеткізу үшін IronOCR таңдаңыз, кез-келген сыртқы веб-қызметтерді пайдаланбай, төлемдер жасамай немесе Интернет арқылы құпия құжаттарды жібермей.

Неліктен C#әзірлеушілері IronOCR-ны Vanilla Tesseract-тен артық таңдайды?

  • Бір DLL немесе NuGet ретінде орнатыңыз
  • Қораптан тыс Tesseract 5, 4 және 3 қозғалтқыштарына арналған.
  • Дәлдігі 99,8% әдеттегі Tesseract-тен асып түседі.
  • Жарқыраған жылдамдық және көп бұрандалы
  • MVC, WebApp, Desktop, Console & Server қосымшалары үйлесімді
  • 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-ді коммерциялық және жеке қосымшалар ішінде тарату үшін қолдануға болады.

Темір OCR шынайы суреттермен және фотосуреттер сияқты жетілмеген құжаттармен немесе сандық шу немесе кемшіліктермен болуы мүмкін төмен ажыратымдылықтағы сканерлермен жұмыс жасағанда жарқырайды.

.NET платформасына арналған басқа ақысыз OCR кітапханалары, мысалы .net tesseract API және веб-қызметтері осы нақты пайдалану жағдайларында жақсы жұмыс істемейді.

Tesseract 5 қосылған OCR - C#кодтауды бастаңыз

Төмендегі код үлгісі C#немесе VB .NET көмегімен суреттен мәтінді оқудың қаншалықты оңай екендігін көрсетеді.

OneLiner

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

Конфигурацияланған әлем

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... суреттердің кез-келген санын қосуға болады
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Kazakh
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... суреттердің кез-келген санын қосуға болады
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Kazakh
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Kazakh
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.Kazakh;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Сондай-ақ, OCR форматында PDF парағының арнайы нөмірлерін таңдай аламыз

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// PDF форматының әр парағына 1 парақ
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
using (var input = new OcrInput())
{
input.AddPdf("example.pdf", "password");
// Сондай-ақ, OCR форматында PDF парағының арнайы нөмірлерін таңдай аламыз

var Result = Ocr.Read(input);

Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
// PDF форматының әр парағына 1 парақ
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Kazakh
Using input = New OcrInput()
input.AddPdf("example.pdf", "password")
' Сондай-ақ, OCR форматында PDF парағының арнайы нөмірлерін таңдай аламыз

Dim Result = Ocr.Read(input)

Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
' PDF форматының әр парағына 1 парақ
End Using
VB   C#

MultiPage TIFF үшін OCR

OCR TIFF файл пішімін оқу, оның ішінде бірнеше беттік құжаттар бар. TIFF-ті іздеуге болатын мәтінмен тікелей PDF файлына айналдыруға болады.

using IronOcr;

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

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

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

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

Штрих-кодтар және QR

IronOCR-дің бірегей ерекшелігі - штрих-кодты және QR кодты мәтінді іздеу кезінде оқи алады. OcrResult.OcrBarcode класының даналары әзірлеушіге әрбір сканерленген штрих-код туралы толық ақпарат береді.

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

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// түрі мен орналасу қасиеттері де анықталды
}
}
// using IronOcr;
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
input.AddImage("img/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// түрі мен орналасу қасиеттері де анықталды
}
}
' using IronOcr;
Dim Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True

Using input = New OcrInput()
input.AddImage("img/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
' түрі мен орналасу қасиеттері де анықталды
Next Barcode
End Using
VB   C#

Суреттердің нақты бағыттары бойынша OCR

IronOCR-ді сканерлеу мен оқудың барлық әдістері парақтың немесе беттің қай бөлігінен мәтінді оқығымыз келетінін дәл көрсетуге мүмкіндік береді. Бұл стандартталған формаларды қарастырған кезде өте пайдалы және көп уақытты үнемдеуге және тиімділікті арттыруға мүмкіндік береді.

Егістік аймақтарды пайдалану үшін біз System.Drawing.Rectangle объектісіне жүйелік сілтеме System.Drawing керек, осылайша біз System.Drawing.Rectangle нысанын қолдана аламыз.

using IronOcr;

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

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

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

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

IronOCR OcrInput сыныбы қалыпты Tesseract оқи алмайтын сканерлеуді түзете алады.

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

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

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

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

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

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

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#

PDF түрлендіруге арналған TIFF

TIFF құжатын (немесе сурет файлдарының кез-келген тобын) тікелей іздеу үшін PDF-ге аударыңыз, оны интранет, веб-сайт және Google іздеу жүйелері арқылы индекстеуге болады.

using IronOcr;

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

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

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

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.Kazakh;
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.Kazakh;
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.Kazakh
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 OCR өнімділігін жақсарту үшін OcrInput нысандары үшін бірегей сүзгілерді ұсынады.

Кескінді жақсарту коды мысалы

Жақсы және жылдам OCR нәтижелерін шығару үшін OCR кіріс суреттерін жоғары сапалы етеді.

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

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

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

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' цифрлық шуды және нашар сканерлеуді түзетеді
Input.Deskew() ' айналу мен перспективаны түзетеді
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

OCR кескін сүзгілерінің тізімі

IronOCR-да орнатылған OCR өнімділігін жақсартуға арналған кіріс сүзгілеріне мыналар кіреді:

  • OcrInput.Rotate (қос градус) - кескіндерді сағат тілінің бағыты бойынша бірнеше градусқа айналдырады. Сағат тіліне қарсы бағытта теріс сандарды қолданыңыз.
  • OcrInput.Binarize () - Бұл кескін фильтрі кез келген пикселді қара немесе ақ түске бояйды . Мәтіннің фонға өте төмен қарама-қайшылығы бар OCR жағдайларын жақсартуы мүмкін.
  • OcrInput.ToGrayScale () - Бұл кескін сүзгісі әрбір пикселді сұр реңктің көлеңкесіне айналдырады. OCR дәлдігін жақсарту екіталай, бірақ жылдамдықты жақсарта алады
  • OcrInput.Contrast () - контрастты автоматты түрде арттырады . Бұл сүзгі жиі контрастты сканерлеу кезінде OCR жылдамдығын және дәлдігін жақсартады.
  • OcrInput.DeNoise () - сандық шуды жояды. Бұл сүзгіні шу пайда болатын жерде ғана пайдалану керек.
  • OcrInput.Invert () - барлық түстерді төңкереді . Мысалы, ақ қара болады: қара ақ болады.
  • OcrInput.Dilate () - жетілдірілген морфология. Кеңейту кескіндегі объектілердің шекараларына пикселдер қосады. Эродтың қарама-қарсы жағы
  • OcrInput.Erode () - жетілдірілген морфология. Эрозия объект шекараларындағы пикселдерді жояды
  • OcrInput.Deskew () - кескінді дұрыс және тік бұрышты етіп бұрады. Бұл OCR үшін өте пайдалы, өйткені қисайған сканерлеу кезінде Tesseract төзімділігі 5 градусқа дейін жетуі мүмкін.
  • OcrInput.DeepCleanBackgroundNoise () - ауыр шуды жою. Бұл сүзгіні құжаттың фондық шуылдары белгілі болған жағдайда ғана қолданыңыз, өйткені бұл сүзгі таза құжаттардың OCR дәлдігін төмендетуге қауіп төндіреді және процессор өте қымбат.
  • OcrInput.EnhanceResolution - Төмен сапалы кескіндердің ажыратымдылығын күшейтеді . Бұл сүзгі жиі қажет емес, өйткені OcrInput.MinimumDPI және OcrInput.TargetDPI төмен ажыратымдылықты кірістерді автоматты түрде шешеді және шешеді.

CleanBackgroundNoise. Бұл біраз уақытты алатын параметр; дегенмен, бұл кітапханаға цифрлық кескіннің ішіндегі цифрлық шуды, қағаздың мыжылғанын және басқа да кемшіліктерді автоматты түрде тазартуға мүмкіндік береді, әйтпесе оны басқа OCR кітапханалары оқи алмайды.

EnhanceContrast - бұл OCR кескіннің фонында мәтіннің контрастын автоматты түрде арттыруға, OCR дәлдігін арттыруға және жалпы OCR өнімділігі мен жылдамдығын арттыруға мүмкіндік беретін параметр.

EnhanceResolution - бұл ажыратымдылығы төмен кескіндерді (олар 275 нүкте / дюймнен) автоматты түрде анықтайтын және суретті автоматты түрде жоғары деңгейге көтеретін, содан кейін OCR кітапханасы оқуы үшін барлық мәтінді анықтайтын параметр. Бұл операцияның өзі көп уақытты қажет ететіндігіне қарамастан, суреттегі OCR операциясының жалпы уақытын қысқартады.

IronOCR тілі 22 халықаралық тіл бумаларын қолдайды және тіл параметрін OCR жұмысына қолданылатын бір немесе бірнеше тілдерді таңдау үшін пайдалануға болады.

Strategy IronOCR екі стратегияны қолдайды. Біз құжатты жылдам және дәлірек сканерлеуге баруды немесе сөйлемдегі сөздердің бір-бірімен статистикалық байланысын қарап, OCR мәтінінің дәлдігін автоматты түрде жақсарту үшін кейбір жасанды интеллект модельдерін қолданатын жетілдірілген стратегияны қолдануды таңдай аламыз. .

ColorSpace - бұл біз OCR-ді сұр реңкте немесе түсте таңдай алатын параметр. Әдетте, сұр реңк ең жақсы нұсқа болып табылады. Алайда кейде мәтіннің немесе фонның түсі бір-біріне ұқсамайтын, бірақ түсі әр түрлі болған кезде, толық түсті кеңістік жақсы нәтиже береді.

WhiteTextOnDarkBackgrounds анықтаңыз. Әдетте, барлық OCR кітапханалары ақ фонда қара мәтінді көреді деп күтеді. Бұл параметр IronOCR-ге негативтерді немесе ақ мәтінмен қара беттерді автоматты түрде анықтауға және оларды оқуға мүмкіндік береді.

InputImageType. Бұл параметр әзірлеушіге OCR кітапханасына оның толық құжатты немесе скриншот сияқты үзіндісін қарауына басшылық етуге мүмкіндік береді.

RotateAndStraighten - бұл IronOCR-ге айналдырылатын ғана емес, сонымен қатар мәтіндік құжаттардың фотосуреттері сияқты перспективалары бар құжаттарды оқудың ерекше қабілетіне мүмкіндік беретін жетілдірілген параметр.

ReadBarcodes - бұл IronOCR-ге парақтардағы штрих-кодтар мен QR кодтарын автоматты түрде оқуға мүмкіндік беретін пайдалы функция, өйткені ол қосымша уақыт жүктемесіз.

ColorDepth. Бұл параметр түстің тереңдігін анықтау үшін OCR кітапханасының бір пиксельге қанша бит қолданатынын анықтайды. Түстің тереңдігі OCR сапасын жоғарылатуы мүмкін, бірақ сонымен қатар OCR жұмысын аяқтау үшін уақытты көбейтеді.

126 тілдік бумалар

IronOCR осы веб-сайттан немесе NuGet пакет менеджерінен жүктеуге болатын DLL түрінде таратылатын тілдік бумалар арқылы 126 халықаралық тілді қолдайды.

Тілдерге неміс, француз, ағылшын, қытай, жапон және тағы басқалары кіреді. Паспорт 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
VB   C#

Көп тілді мысал

Сонымен қатар, бірнеше тілді бір уақытта қолданып OCR жасауға болады. Бұл Юникод құжаттарында ағылшын тіліндегі метадеректер мен URL мекен-жайларын алуға көмектеседі.

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

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

// Біз тілдердің кез-келген санын қоса аламыз

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

// Біз тілдердің кез-келген санын қоса аламыз

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

' Біз тілдердің кез-келген санын қоса аламыз

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

OCR нәтижелерінің толық нысандары

IronOCR әрбір OCR әрекеті үшін OCR нәтижесі объектісін қайтарады. Әдетте, әзірлеушілер тек осы объектінің мәтіндік қасиетін кескіннен сканерленген мәтінді алу үшін пайдаланады. Алайда, OCR нәтижелері DOM бұдан әлдеқайда жетілдірілген.

using IronOcr;
using System.Drawing; //Жинақ анықтамасын қосыңыз

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
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.Kazakh;
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.Kazakh
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% -дан азырақ етеді.

Көбірек білу үшін

C #, VB, F # немесе кез келген басқа .NET тілдеріндегі OCR туралы көбірек білу үшін IronOCR-ді қалай қолдануға болатындығы туралы нақты мысалдар келтіретін қоғамдастық оқулықтарын оқып шығыңыз және одан жақсылықты қалай алуға болатындығының нюанстарын көрсетіңіз. бұл кітапхана.

.NET әзірлеушілеріне арналған толық нысанды сілтеме де қол жетімді.