C#және .NET жүйелеріндегі қазақша OCR
Осы құжаттың басқа нұсқалары:
IronOCR - бұл .NET кодерлеріне кескіндерден және PDF құжаттарынан 126 тілде, соның ішінде қазақ тілінде мәтін оқуға мүмкіндік беретін C# бағдарламалық жасақтамасы.
Бұл тек .NET әзірлеушілері үшін жасалған және жылдамдығы мен дәлдігі бойынша басқа Tesseract қозғалтқыштарынан үнемі озып тұратын Tesseract жетілдірілген ашасы.
IronOcr.Тілдердің мазмұны.Қазақ
Бұл пакетте .NET үшін 43 OCR тілі бар:
- Қазақ
- KazakhBest
- KazakhFast
Жүктеу
Қазақ тілінің бумасы [қазақ тілі]
Орнату
Біз істеу керек бірінші нәрсе сіздің .NET жобаға біздің қазақ OCR пакетін орнату болып табылады.
Install-Package IronOCR.Languages.Kazakh
Код мысалы
Бұл C# код мысалы мысалда кескін немесе PDF құжатындағы қазақша мәтінді оқиды.
// Орталауға арналған IronOCR кітапханасын қосу
using IronOcr;
// IronTesseract класынан жаңа OCR объектісін жасау
var Ocr = new IronTesseract();
// OCR операциясы үшін тілді орнату
Ocr.Language = OcrLanguage.Kazakh;
// OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
using (var Input = new OcrInput(@"images\Kazakh.png"))
{
// Суреттегі мәтінді OCR арқылы оқу
var Result = Ocr.Read(Input);
// OCR нәтижесінен алынған барлық мәтінді алу
var AllText = Result.Text;
// Нәтижені шығару
Console.WriteLine(AllText);
}
// Орталауға арналған IronOCR кітапханасын қосу
using IronOcr;
// IronTesseract класынан жаңа OCR объектісін жасау
var Ocr = new IronTesseract();
// OCR операциясы үшін тілді орнату
Ocr.Language = OcrLanguage.Kazakh;
// OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
using (var Input = new OcrInput(@"images\Kazakh.png"))
{
// Суреттегі мәтінді OCR арқылы оқу
var Result = Ocr.Read(Input);
// OCR нәтижесінен алынған барлық мәтінді алу
var AllText = Result.Text;
// Нәтижені шығару
Console.WriteLine(AllText);
}
' Орталауға арналған IronOCR кітапханасын қосу
Imports IronOcr
' IronTesseract класынан жаңа OCR объектісін жасау
Private Ocr = New IronTesseract()
' OCR операциясы үшін тілді орнату
Ocr.Language = OcrLanguage.Kazakh
' OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
Using Input = New OcrInput("images\Kazakh.png")
' Суреттегі мәтінді OCR арқылы оқу
Dim Result = Ocr.Read(Input)
' OCR нәтижесінен алынған барлық мәтінді алу
Dim AllText = Result.Text
' Нәтижені шығару
Console.WriteLine(AllText)
End Using
Неліктен 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-ді коммерциялық және жеке қосымшалар ішінде тарату үшін қолдануға болады.
Temir OCR шынайы суреттермен және фотосуреттер сияқты жетілмеген құжаттармен немесе сандық шу немесе кемшіліктермен болуы мүмкін төмен ажыратымдылықтағы сканерлермен жұмыс жасағанда жарқырауы мүмкін.
.NET платформасына арналған басқа ақысыз OCR кітапханалары, мысалы .net tesseract API және веб-қызметтері осы нақты пайдалану жағдайларында жақсы жұмыс істемейді.
Tesseract 5 қосылған OCR - C# кодтауды бастаңыз
Төмендегі код үлгісі C# немесе VB .NET көмегімен суреттен мәтінді оқудың қаншалықты оңай екендігін көрсетеді.
OneLiner
using IronOcr;
// Бір жолда OCR операциясын оқу
string Text = new IronTesseract().Read(@"img/Screenshot.png").Text;
using IronOcr;
// Бір жолда OCR операциясын оқу
string Text = new IronTesseract().Read(@"img/Screenshot.png").Text;
Imports IronOcr
' Бір жолда OCR операциясын оқу
Private Text As String = (New IronTesseract()).Read("img/Screenshot.png").Text
Конфигурацияланған әлем
// IronOcr кітапханасын қосыңыз
using IronOcr;
// IronTesseract класынан жаңа OCR объектісін жасау
var Ocr = new IronTesseract();
// OCR операциясы үшін тілді орнату
Ocr.Language = OcrLanguage.Kazakh;
// OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
using (var Input = new OcrInput())
{
// Бір немесе бірнеше суреттерді OcrInput объектісіне қосу
Input.AddImage("images/sample.jpeg");
// Суреттегі мәтінді OCR арқылы оқу
var Result = Ocr.Read(Input);
// OCR нәтижелерін шығару
Console.WriteLine(Result.Text);
}
// IronOcr кітапханасын қосыңыз
using IronOcr;
// IronTesseract класынан жаңа OCR объектісін жасау
var Ocr = new IronTesseract();
// OCR операциясы үшін тілді орнату
Ocr.Language = OcrLanguage.Kazakh;
// OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
using (var Input = new OcrInput())
{
// Бір немесе бірнеше суреттерді OcrInput объектісіне қосу
Input.AddImage("images/sample.jpeg");
// Суреттегі мәтінді OCR арқылы оқу
var Result = Ocr.Read(Input);
// OCR нәтижелерін шығару
Console.WriteLine(Result.Text);
}
' IronOcr кітапханасын қосыңыз
Imports IronOcr
' IronTesseract класынан жаңа OCR объектісін жасау
Private Ocr = New IronTesseract()
' OCR операциясы үшін тілді орнату
Ocr.Language = OcrLanguage.Kazakh
' OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
Using Input = New OcrInput()
' Бір немесе бірнеше суреттерді OcrInput объектісіне қосу
Input.AddImage("images/sample.jpeg")
' Суреттегі мәтінді OCR арқылы оқу
Dim Result = Ocr.Read(Input)
' OCR нәтижелерін шығару
Console.WriteLine(Result.Text)
End Using
C# PDF OCR
Осындай тәсілді кез-келген PDF құжаттан мәтін шығару үшін де қолдануға болады.
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// OCR үшін қолданылатын OcrInput объектісімен жұмыс істеу
using (var input = new OcrInput())
{
// PDF құжатын OCR талдауы үшін қосу
// Қажет болса PDF құжатына парольді жазыңыз
input.AddPdf("example.pdf", "password");
// OCR арқылы мәтінді оқу
var Result = Ocr.Read(input);
// PDF ішіндегі мәтіннің санын шығару
Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
}
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// OCR үшін қолданылатын OcrInput объектісімен жұмыс істеу
using (var input = new OcrInput())
{
// PDF құжатын OCR талдауы үшін қосу
// Қажет болса PDF құжатына парольді жазыңыз
input.AddPdf("example.pdf", "password");
// OCR арқылы мәтінді оқу
var Result = Ocr.Read(input);
// PDF ішіндегі мәтіннің санын шығару
Console.WriteLine(Result.Text);
Console.WriteLine($"{Result.Pages.Count()} Pages");
}
Imports IronOcr
' OCR үшін жаңа IronTesseract объектісін жасау
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Kazakh
' OCR үшін қолданылатын OcrInput объектісімен жұмыс істеу
Using input = New OcrInput()
' PDF құжатын OCR талдауы үшін қосу
' Қажет болса PDF құжатына парольді жазыңыз
input.AddPdf("example.pdf", "password")
' OCR арқылы мәтінді оқу
Dim Result = Ocr.Read(input)
' PDF ішіндегі мәтіннің санын шығару
Console.WriteLine(Result.Text)
Console.WriteLine($"{Result.Pages.Count()} Pages")
End Using
MultiPage TIFF үшін OCR
OCR TIFF файл пішімін оқу, оның ішінде бірнеше беттік құжаттар бар. TIFF-ті іздеуге болатын мәтінмен тікелей PDF файлына айналдыруға болады.
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// OCR үшін пайдаланылатын енгізу сурет файлдарымен жұмыс істеу
using (var Input = new OcrInput())
{
// Көпбеттік TIFF құжатын OCR талдауы үшін қосу
input.AddMultiFrameTiff("multi-frame.tiff");
// OCR арқылы мәтінді оқу
var Result = Ocr.Read(Input);
// OCR нәтижелерін шығару
Console.WriteLine(Result.Text);
}
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// OCR үшін пайдаланылатын енгізу сурет файлдарымен жұмыс істеу
using (var Input = new OcrInput())
{
// Көпбеттік TIFF құжатын OCR талдауы үшін қосу
input.AddMultiFrameTiff("multi-frame.tiff");
// OCR арқылы мәтінді оқу
var Result = Ocr.Read(Input);
// OCR нәтижелерін шығару
Console.WriteLine(Result.Text);
}
Imports IronOcr
' OCR үшін жаңа IronTesseract объектісін жасау
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Kazakh
' OCR үшін пайдаланылатын енгізу сурет файлдарымен жұмыс істеу
Using Input = New OcrInput()
' Көпбеттік TIFF құжатын OCR талдауы үшін қосу
input.AddMultiFrameTiff("multi-frame.tiff")
' OCR арқылы мәтінді оқу
Dim Result = Ocr.Read(Input)
' OCR нәтижелерін шығару
Console.WriteLine(Result.Text)
End Using
Штрих-кодтар және QR
IronOCR-дің бірегей ерекшелігі - штрих-кодты және QR кодты мәтінді іздеу кезінде оқи алады. OcrResult.OcrBarcode
класының даналары әзірлеушіге әрбір сканерленген штрих-код туралы толық ақпарат береді.
using IronOcr;
// OCR объектісін құру және конфигурациялау
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
// OCR үшін пайдаланылатын OcrInput объектісімен жұмыс істеу
using (var input = new OcrInput())
{
// Штрих-код суретін талдауға қосу
input.AddImage("img/Barcode.png");
// OCR арқылы штрих-кодтарды оқу
var Result = Ocr.Read(input);
// Әрбір штрих-кодтың мәнін көрсету
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// Тек түрімен ғана емес, орналасу сипаттамаларын да анықтауға болады
}
}
using IronOcr;
// OCR объектісін құру және конфигурациялау
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
// OCR үшін пайдаланылатын OcrInput объектісімен жұмыс істеу
using (var input = new OcrInput())
{
// Штрих-код суретін талдауға қосу
input.AddImage("img/Barcode.png");
// OCR арқылы штрих-кодтарды оқу
var Result = Ocr.Read(input);
// Әрбір штрих-кодтың мәнін көрсету
foreach (var Barcode in Result.Barcodes)
{
Console.WriteLine(Barcode.Value);
// Тек түрімен ғана емес, орналасу сипаттамаларын да анықтауға болады
}
}
Imports IronOcr
' OCR объектісін құру және конфигурациялау
Private Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True
' OCR үшін пайдаланылатын OcrInput объектісімен жұмыс істеу
Using input = New OcrInput()
' Штрих-код суретін талдауға қосу
input.AddImage("img/Barcode.png")
' OCR арқылы штрих-кодтарды оқу
Dim Result = Ocr.Read(input)
' Әрбір штрих-кодтың мәнін көрсету
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
' Тек түрімен ғана емес, орналасу сипаттамаларын да анықтауға болады
Next Barcode
End Using
Суреттердің нақты бағыттары бойынша OCR
IronOCR-ді сканерлеу мен оқудың барлық әдістері парақтың немесе беттің қай бөлігінен мәтінді оқығымыз келетінін дәл көрсетуге мүмкіндік береді. Бұл стандартталған формаларды қарастырған кезде өте пайдалы және көп уақытты үнемдеуге және тиімділікті арттыруға мүмкіндік береді.
Егістік аймақтарды пайдалану үшін біз System.Drawing.Rectangle
объектісіне жүйелік сілтеме жасау керек, осылайша біз System.Drawing.Rectangle
нысанын қолдана аламыз.
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
using (var Input = new OcrInput())
{
// Мәтінді OCR талдауы үшін нақты аймақты көрсету
var ContentArea = new System.Drawing.Rectangle()
{
X = 215, Y = 1250, Height = 280, Width = 1335
};
// Өлшемдер пиксельде
// Суреттегі нақты аймақты OCR талдауы үшін қосу
Input.Add("document.png", ContentArea);
// OCR арқылы мәтінді оқу
var Result = Ocr.Read(Input);
// OCR нәтижелерін шығару
Console.WriteLine(Result.Text);
}
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
using (var Input = new OcrInput())
{
// Мәтінді OCR талдауы үшін нақты аймақты көрсету
var ContentArea = new System.Drawing.Rectangle()
{
X = 215, Y = 1250, Height = 280, Width = 1335
};
// Өлшемдер пиксельде
// Суреттегі нақты аймақты OCR талдауы үшін қосу
Input.Add("document.png", ContentArea);
// OCR арқылы мәтінді оқу
var Result = Ocr.Read(Input);
// OCR нәтижелерін шығару
Console.WriteLine(Result.Text);
}
Imports IronOcr
' OCR үшін жаңа IronTesseract объектісін жасау
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Kazakh
' OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
Using Input = New OcrInput()
' Мәтінді OCR талдауы үшін нақты аймақты көрсету
Dim ContentArea = New System.Drawing.Rectangle() With {
.X = 215,
.Y = 1250,
.Height = 280,
.Width = 1335
}
' Өлшемдер пиксельде
' Суреттегі нақты аймақты OCR талдауы үшін қосу
Input.Add("document.png", ContentArea)
' OCR арқылы мәтінді оқу
Dim Result = Ocr.Read(Input)
' OCR нәтижелерін шығару
Console.WriteLine(Result.Text)
End Using
Төмен сапалы сканерлеуге арналған OCR
IronOCR OcrInput
сыныбы қалыпты Tesseract оқи алмайтын сканерлеуді түзете алады.
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// Төмен сапалы сурет файлымен жұмыс істеу
using (var Input = new OcrInput(@"img/Potter.LowQuality.tiff"))
{
// Цифрлық шуды және нашар сканерлеуді түзету
Input.DeNoise();
// Айналу мен перспективаны түзету
Input.Deskew();
// Басқа OCR арқылы мәтінді оқу
var Result = Ocr.Read(Input);
// OCR нәтижелерін шығару
Console.WriteLine(Result.Text);
}
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// Төмен сапалы сурет файлымен жұмыс істеу
using (var Input = new OcrInput(@"img/Potter.LowQuality.tiff"))
{
// Цифрлық шуды және нашар сканерлеуді түзету
Input.DeNoise();
// Айналу мен перспективаны түзету
Input.Deskew();
// Басқа OCR арқылы мәтінді оқу
var Result = Ocr.Read(Input);
// OCR нәтижелерін шығару
Console.WriteLine(Result.Text);
}
Imports IronOcr
' OCR үшін жаңа IronTesseract объектісін жасау
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Kazakh
' Төмен сапалы сурет файлымен жұмыс істеу
Using Input = New OcrInput("img/Potter.LowQuality.tiff")
' Цифрлық шуды және нашар сканерлеуді түзету
Input.DeNoise()
' Айналу мен перспективаны түзету
Input.Deskew()
' Басқа OCR арқылы мәтінді оқу
Dim Result = Ocr.Read(Input)
' OCR нәтижелерін шығару
Console.WriteLine(Result.Text)
End Using
OCR нәтижелерін іздеуге болатын PDF түрінде экспорттаңыз
Көшіруге болатын мәтін жолдары бар PDF форматындағы сурет. Іздеу жүйелері мен мәліметтер базасымен индекстелуі мүмкін.
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
using (var Input = new OcrInput())
{
// PDF файлының басы ретінде құжат атауын орнату
input.Title = "Quarterly Report";
// Файлдарды енгізу және OCR талдауы үшін қосу
input.AddImage("image1.jpeg");
input.AddImage("image2.png");
input.AddImage("image3.gif");
// OCR арқылы мәтінді оқу
var Result = Ocr.Read(input);
// OCR нәтижелерін іздеуге болатын PDF файлында сақтау
Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
using (var Input = new OcrInput())
{
// PDF файлының басы ретінде құжат атауын орнату
input.Title = "Quarterly Report";
// Файлдарды енгізу және OCR талдауы үшін қосу
input.AddImage("image1.jpeg");
input.AddImage("image2.png");
input.AddImage("image3.gif");
// OCR арқылы мәтінді оқу
var Result = Ocr.Read(input);
// OCR нәтижелерін іздеуге болатын PDF файлында сақтау
Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr
' OCR үшін жаңа IronTesseract объектісін жасау
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Kazakh
' OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
Using Input = New OcrInput()
' PDF файлының басы ретінде құжат атауын орнату
input.Title = "Quarterly Report"
' Файлдарды енгізу және OCR талдауы үшін қосу
input.AddImage("image1.jpeg")
input.AddImage("image2.png")
input.AddImage("image3.gif")
' OCR арқылы мәтінді оқу
Dim Result = Ocr.Read(input)
' OCR нәтижелерін іздеуге болатын PDF файлында сақтау
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
PDF түрлендіруге арналған TIFF
TIFF құжатын (немесе сурет файлдарының кез-келген тобын) тікелей іздеу үшін PDF-ге аударыңыз, оны интранет, веб-сайт және Google іздеу жүйелері арқылы индекстеуге болады.
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// PDF форматын жасау үшін көпбеттік TIFF файлдарын қолдану
using (var Input = new OcrInput())
{
// Көпбеттік TIFF құжатын OCR талдауы үшін қосу
input.AddMultiFrameTiff("example.tiff");
// OCR арқылы мәтінді оқу және іздеуге болатын PDF файлына сақтау
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// PDF форматын жасау үшін көпбеттік TIFF файлдарын қолдану
using (var Input = new OcrInput())
{
// Көпбеттік TIFF құжатын OCR талдауы үшін қосу
input.AddMultiFrameTiff("example.tiff");
// OCR арқылы мәтінді оқу және іздеуге болатын PDF файлына сақтау
var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr
' OCR үшін жаңа IronTesseract объектісін жасау
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Kazakh
' PDF форматын жасау үшін көпбеттік TIFF файлдарын қолдану
Using Input = New OcrInput()
' Көпбеттік TIFF құжатын OCR талдауы үшін қосу
input.AddMultiFrameTiff("example.tiff")
' OCR арқылы мәтінді оқу және іздеуге болатын PDF файлына сақтау
Dim Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
End Using
OCR нәтижелерін HTML түрінде экспорттаңыз
OCR кескінін XHTML-ге түрлендіру.
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
using (var Input = new OcrInput())
{
// HTML файл атауын орнату
input.Title = "Html Title";
// OCR үшін қолданылатын кескін қосу
input.AddImage("image1.jpeg");
// OCR арқылы мәтінді оқу
var Result = Ocr.Read(input);
// OCR нәтижелерін H-HTML форматты файлда сақтау
Result.SaveAsHocrFile("results.html");
}
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
using (var Input = new OcrInput())
{
// HTML файл атауын орнату
input.Title = "Html Title";
// OCR үшін қолданылатын кескін қосу
input.AddImage("image1.jpeg");
// OCR арқылы мәтінді оқу
var Result = Ocr.Read(input);
// OCR нәтижелерін H-HTML форматты файлда сақтау
Result.SaveAsHocrFile("results.html");
}
Imports IronOcr
' OCR үшін жаңа IronTesseract объектісін жасау
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Kazakh
' OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
Using Input = New OcrInput()
' HTML файл атауын орнату
input.Title = "Html Title"
' OCR үшін қолданылатын кескін қосу
input.AddImage("image1.jpeg")
' OCR арқылы мәтінді оқу
Dim Result = Ocr.Read(input)
' OCR нәтижелерін H-HTML форматты файлда сақтау
Result.SaveAsHocrFile("results.html")
End Using
OCR кескінін жақсарту сүзгілері
IronOCR OCR өнімділігін жақсарту үшін OcrInput
нысандары үшін бірегей сүзгілерді ұсынады.
Кескінді жақсарту коды мысалы
Жақсы және жылдам OCR нәтижелерін шығару үшін OCR кіріс суреттерін жоғары сапалы етеді.
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// Төмен сапалы сурет файлымен жұмыс істеу
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
// Цифрлық шуды түзету
Input.DeNoise();
// Айналу мен перспективаны түзету
Input.Deskew();
// OCR арқылы мәтінді оқу
var Result = Ocr.Read(Input);
// OCR нәтижелерін шығару
Console.WriteLine(Result.Text);
}
using IronOcr;
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// Төмен сапалы сурет файлымен жұмыс істеу
using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
// Цифрлық шуды түзету
Input.DeNoise();
// Айналу мен перспективаны түзету
Input.Deskew();
// OCR арқылы мәтінді оқу
var Result = Ocr.Read(Input);
// OCR нәтижелерін шығару
Console.WriteLine(Result.Text);
}
Imports IronOcr
' OCR үшін жаңа IronTesseract объектісін жасау
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Kazakh
' Төмен сапалы сурет файлымен жұмыс істеу
Using Input = New OcrInput("LowQuality.jpeg")
' Цифрлық шуды түзету
Input.DeNoise()
' Айналу мен перспективаны түзету
Input.Deskew()
' OCR арқылы мәтінді оқу
Dim Result = Ocr.Read(Input)
' OCR нәтижелерін шығару
Console.WriteLine(Result.Text)
End Using
OCR кескін сүзгілерінің тізімі
IronOCR-да орнатылған OCR өнімділігін жақсартуға арналған кіріс сүзгілеріне мыналар кіреді:
- OcrInput.Rotate(double degrees) - кескіндерді сағат тілінің бағыты бойынша бірнеше градусқа айналдырады. Сағат тіліне қарсы бағытта теріс сандарды қолданыңыз.
- 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-Package 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-Package 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-Package IronOcr.Languages.Arabic
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Arabic
Using input = New OcrInput()
input.AddImage("img/arabic.gif")
' Қажет болса, сурет сүзгілерін қосыңыз
' Бұл жағдайда тіпті ойлаудың сапасы өте төмен
' IronTesseract әдеттегі Tesseract мүмкін емес нәрсені оқи алады.
Dim Result = Ocr.Read(input)
' Windows жүйесінде консоль араб тілін оңай басып шығара алмайды.
' Оның орнына дискіге сақтайық.
Result.SaveAsTextFile("arabic.txt")
End Using
Көп тілді мысал
Сонымен қатар, бірнеше тілді бір уақытта қолданып OCR жасауға болады. Бұл Юникод құжаттарында ағылшын тіліндегі метадеректер мен URL мекен-жайларын алуға көмектеседі.
// using IronOcr;
// PM> Install-Package 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);
// OCR нәтижелерін мәтіндік файлда сақтау
Result.SaveAsTextFile("results.txt");
}
// using IronOcr;
// PM> Install-Package 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);
// OCR нәтижелерін мәтіндік файлда сақтау
Result.SaveAsTextFile("results.txt");
}
' using IronOcr;
' PM> Install-Package 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)
' OCR нәтижелерін мәтіндік файлда сақтау
Result.SaveAsTextFile("results.txt")
End Using
OCR нәтижелерінің толық нысандары
IronOCR әрбір OCR әрекеті үшін OCR нәтижесі объектісін қайтарады. Әдетте, әзірлеушілер тек осы объектінің мәтіндік қасиетін кескіннен сканерленген мәтінді алу үшін пайдаланады. Алайда, OCR нәтижелері DOM бұдан әлдеқайда жетілдірілген.
using IronOcr;
using System.Drawing; // Жинақ анықтамасын қосыңыз
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// OCR қозғалтқышының режимін орнату
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
// Штрих-код оқу конфигурациясын орнату
Ocr.Configuration.ReadBarCodes = true;
// OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
using (var Input = new OcrInput(@"images/sample.tiff"))
{
// OCR нәтижесін оқу
OcrResult Result = Ocr.Read(Input);
// OCR нәтижесіндегі беттер, сөздер және штрих-кодтар
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Үлкен, егжей-тегжейлі API табу үшін осында зерттеңіз:
// - беттер, блоктар, параффалар, жолдар, сөздер, белгілер
// - сурет экспорты, қаріптер координаттары, статистикалық мәліметтер
}
using IronOcr;
using System.Drawing; // Жинақ анықтамасын қосыңыз
// OCR үшін жаңа IronTesseract объектісін жасау
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Kazakh;
// OCR қозғалтқышының режимін орнату
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm;
// Штрих-код оқу конфигурациясын орнату
Ocr.Configuration.ReadBarCodes = true;
// OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
using (var Input = new OcrInput(@"images/sample.tiff"))
{
// OCR нәтижесін оқу
OcrResult Result = Ocr.Read(Input);
// OCR нәтижесіндегі беттер, сөздер және штрих-кодтар
var Pages = Result.Pages;
var Words = Pages[0].Words;
var Barcodes = Result.Barcodes;
// Үлкен, егжей-тегжейлі API табу үшін осында зерттеңіз:
// - беттер, блоктар, параффалар, жолдар, сөздер, белгілер
// - сурет экспорты, қаріптер координаттары, статистикалық мәліметтер
}
Imports IronOcr
Imports System.Drawing ' Жинақ анықтамасын қосыңыз
' OCR үшін жаңа IronTesseract объектісін жасау
Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Kazakh
' OCR қозғалтқышының режимін орнату
Ocr.Configuration.EngineMode = TesseractEngineMode.TesseractAndLstm
' Штрих-код оқу конфигурациясын орнату
Ocr.Configuration.ReadBarCodes = True
' OCR үшін пайдаланылатын енгізу сурет файлымен жұмыс істеу
Using Input = New OcrInput("images/sample.tiff")
' OCR нәтижесін оқу
Dim Result As OcrResult = Ocr.Read(Input)
' OCR нәтижесіндегі беттер, сөздер және штрих-кодтар
Dim Pages = Result.Pages
Dim Words = Pages(0).Words
Dim Barcodes = Result.Barcodes
' Үлкен, егжей-тегжейлі API табу үшін осында зерттеңіз:
' - беттер, блоктар, параффалар, жолдар, сөздер, белгілер
' - сурет экспорты, қаріптер координаттары, статистикалық мәліметтер
End Using
Өнімділік
IronOCR қораптан тыс жұмыс істейді, кіріс кескіндерді күйге келтіруді немесе қатты өзгертуді қажет етпейді.
Жылдамдық жалындаған: IronOcr.2020 + 10 есеге дейін жылдам және алдыңғы құрастыруларға қарағанда қателіктерді 250% -дан азырақ етеді.
Көбірек білу үшін
C #, VB, F # немесе кез келген басқа .NET тілдеріндегі OCR туралы көбірек білу үшін IronOCR-ді қалай қолдануға болатындығы туралы нақты мысалдар келтіретін қоғамдастық оқулықтарын оқып шығыңыз және одан жақсылықты қалай алуға болатындығының нюанстарын көрсетіңіз. бұл кітапхана.
.NET әзірлеушілеріне арналған толық нысанды сілтеме де қол жетімді.