C#ба .Net дэх монгол OCR

Энэхүү баримт бичгийн бусад хувилбарууд:

IronOCR бол C#програм хангамжийн бүрэлдэхүүн хэсэг юм .NET кодлогчдод зураг, PDF баримтаас текстийг 126 хэлээр, түүний дотор монгол хэлээр унших боломжийг олгодог.

Энэ бол зөвхөн .NET хөгжүүлэгчдэд зориулан бүтээсэн Tesseract-ийн дэвшилтэт салаа бөгөөд бусад Tesseract хөдөлгүүрүүдээс хурд, нарийвчлалтайгаар тогтмол давж гардаг.

Агуулга IronOcr.Хэл.Монгол

Энэхүү багц нь .NET-ийн 52 OCR хэлийг агуулдаг:

  • Монгол
  • MongolianBest
  • MongolianFast

Татаж авах

Монгол хэлний багц [монгол]
* Download as Зип
* Install with as
https://www.nuget.org/packages/IronOcr.Languages.Mongolian/'> NuGet

Суулгалт

Бидний хийх ёстой хамгийн эхний зүйл бол .NET төсөлдөө монголын OCR багцыг суулгах явдал юм.

PM> Install-Package IronOCR.Languages.Mongolian

Кодын жишээ

Энэхүү C#кодын жишээ нь Image эсвэл PDF баримт бичгийн монгол текстийг уншдаг.

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

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

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

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Mongolian
Using Input = New OcrInput("images\Mongolian.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#програмыг яагаад Vanilla Tesseract-ээс илүү IronOCR-ийг сонгодог вэ?

  • Нэг DLL эсвэл Nuget хэлбэрээр суулгана уу
  • Хайрцагнаас гарсан Tesseract 5, 4, 3 хөдөлгүүрт багтсан болно.
  • Нарийвчлал 99.8% нь ердийн Tesseract-аас хамаагүй илүү байдаг.
  • Хурдан ба олон урсгалтай
  • MVC, WebApp, Desktop, Console & Server Application нийцтэй
  • Exes эсвэл C ++ кодтой ажиллах боломжгүй
  • Бүрэн PDF OCR дэмжлэг
  • OCR-г бараг бүх зургийн файл эсвэл PDF хэлбэрээр гүйцэтгэх
  • Бүрэн .Net Core, Standard болон FrameWork дэмжлэг
  • Windows, Mac, Linux, Azure, Docker, Lambda, AWS дээр байрлуулах
  • Баркод ба QR кодыг уншина уу
  • OCR-ийг XHTML руу экспортлох
  • OCR-ийг хайх боломжтой PDF баримт бичигт экспортлох
  • Олон урсгалтай дэмжлэг
  • 126 олон улсын хэлийг бүгдийг нь Nuget эсвэл OcrData файлуудаар удирддаг
  • Зураг, координат, статистик ба фонтыг задлах. Зөвхөн текст биш.
  • Tesseract OCR-ийг арилжааны болон өмчийн програмуудад дахин хуваарилахад ашиглаж болно.

Төмрийн 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#

Тохируулгатай Hello World

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

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Mongolian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... та хэдэн ч зураг нэмж болно
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Mongolian
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Mongolian;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... та хэдэн ч зураг нэмж болно
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Mongolian
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Mongolian
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.Mongolian;
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");
// PDF файлын хуудас бүрт 1 хуудас
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Mongolian;
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");
// PDF файлын хуудас бүрт 1 хуудас
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Mongolian
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")
' PDF файлын хуудас бүрт 1 хуудас
End Using
VB   C#

MultiPage TIFF-д зориулсан OCR

Олон хуудасны баримт бичгийг багтаасан OCR унших TIFF файлын формат. TIFF-ийг хайлтын текст бүхий PDF файл болгон шууд хөрвүүлэх боломжтой.

using IronOcr;

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

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

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

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 Class-ийн тохиолдлууд нь хөгжүүлэгчдэд сканнердсан бар код бүрийн талаар дэлгэрэнгүй мэдээлэл өгдөг.

// 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

Iron OCR-ийн сканнердах, унших бүх аргууд нь хуудас эсвэл хуудасны аль хэсгийг нь текст уншихыг яг зааж өгөх боломжийг олгодог. Энэ нь стандарт хэлбэрийг үзэх үед маш их цаг хугацаа хэмнэх, үр ашгийг дээшлүүлэхэд маш их хэрэгтэй байдаг.

Газар тариалангийн бүс нутгийг ашиглахын тулд бид System.Drawing д системийн лавлагаа нэмж оруулах хэрэгтэй бөгөөд ингэснээр бид System.Drawing.Rectangle объектыг ашиглах боломжтой болно.

using IronOcr;

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Хэмжээ нь px байна

Input.Add("document.png", ContentArea);

var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;

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

using (var Input = new OcrInput())
{
var ContentArea = new System.Drawing.Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
// Хэмжээ нь px байна

Input.Add("document.png", ContentArea);

var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Mongolian

Using Input = New OcrInput()
Dim ContentArea = New System.Drawing.Rectangle() With {
	.X = 215,
	.Y = 1250,
	.Height = 280,
	.Width = 1335
}
' Хэмжээ нь px байна

Input.Add("document.png", ContentArea)

Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

Бага чанарын скан хийх OCR

Iron OCR OcrInput анги нь ердийн Tesseract унших боломжгүй сканнердлыг засах боломжтой.

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

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

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

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

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

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

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 баримт бичгийг (эсвэл ямар нэгэн бүлэг зургийн файлыг) шууд интранет, вэбсайт, google хайлтын системээр индексжүүлж болох PDF файл руу хөрвүүлэх.

using IronOcr;

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

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

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

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

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

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

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 нарийвчлалыг бууруулах эрсдэлтэй бөгөөд CPU-ийн өртөг өндөртэй байдаг.
  • OcrInput.EnhanceResolution - Чанар муутай зургуудын нягтралыг сайжруулдаг. OcrInput.MinimumDPI ба OcrInput.TargetDPI нь нягтрал багатай оролтуудыг автоматаар барьж шийдвэрлэх тул энэ шүүлтүүр нь ихэвчлэн хэрэг болдоггүй .

CleanBackgroundNoise. Энэ бол тодорхой цаг хугацаа шаарддаг тохиргоо юм. гэхдээ энэ нь номын санд дижитал дүрсний доторх дижитал дуу чимээ, цаасны үрчлээ болон бусад согогийг автоматаар цэвэрлэх боломжийг олгодог бөгөөд ингэснээр бусад OCR номын сангууд унших чадваргүй болгодог.

EnhanceContrast нь Iron OCR-ийг дүрсний дэвсгэр дээр текстийн ялгааг автоматаар нэмэгдүүлэх, OCR-ийн нарийвчлалыг нэмэгдүүлэх, ерөнхийдөө OCR-ийн гүйцэтгэл, хурдыг нэмэгдүүлэхэд хүргэдэг тохиргоо юм.

EnhanceResolution нь нягтрал багатай зургийг (275 dpi-ээс бага хэмжээтэй) автоматаар илрүүлж, дүрсийг автоматаар дээшлүүлж, дараа нь бүх текстийг хурцалж, OCR номын санд төгс унших боломжтой тохиргоо юм. Энэ ажиллагаа нь өөрөө цаг хугацаа их шаарддаг боловч ерөнхийдөө зураг дээрх OCR-ийн үйл ажиллагааны нийт хугацааг багасгадаг.

Хэлний Iron OCR нь олон улсын 22 хэлний багцыг дэмждэг бөгөөд хэлний тохиргоог ашиглан OCR ажиллагаанд хамрагдах нэг буюу хэд хэдэн хэлийг сонгох боломжтой.

Стратеги Iron OCR нь хоёр стратегийг дэмждэг. Бид баримт бичгийг хурдан бөгөөд бага нарийвчлалтай сканнердах, эсвэл зохиомол оюун ухааны зарим загварыг ашиглан OCR текстийн нарийвчлалыг автоматаар сайжруулах дэвшилтэт стратеги ашиглан үгийг хооронд нь өгүүлбэрээр харьцуулж үзээрэй. .

ColorSpace нь саарал эсвэл өнгөөр OCR-ийг сонгох боломжтой тохиргоо юм. Ерөнхийдөө саарал өнгө нь хамгийн сайн сонголт юм. Гэсэн хэдий ч заримдаа ижил төстэй өнгөт текстүүд эсвэл арын дэвсгэрүүд байгаа тохиолдолд өнгөт зай нь илүү сайн үр дүнг өгдөг.

WhiteTextOnDarkBackgrounds-ийг илрүүлэх. Ерөнхийдөө OCR-ийн бүх сангууд цагаан дэвсгэр дээр хар текстийг үзэх болно гэж найдаж байна. Энэ тохиргоо нь Iron OCR-д сөрөг эсвэл цагаан тексттэй харанхуй хуудсыг автоматаар илрүүлж унших боломжийг олгодог.

InputImageType. Энэхүү тохиргоо нь OCR номын санг дэлгэцийн агшин гэх мэт бүрэн баримт эсвэл хэсэгчлэн харж байгаа эсэхийг удирдан чиглүүлэх боломжийг олгодог.

RotateAndStraighten нь Iron OCR-т зөвхөн эргэлттэй төдийгүй текст баримт бичгийн гэрэл зураг гэх мэт хэтийн төлөв агуулсан баримт бичгүүдийг унших онцгой чадварыг олгодог дэвшилтэт тохиргоо юм.

ReadBarcodes нь 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");
// Шаардлагатай бол зургийн шүүлтүүр нэмнэ үү
// Энэ тохиолдолд бодлын оролт хүртэл маш бага чанартай байдаг
// Ердийн Tesseract-ийн чадахгүй зүйлийг IronTesseract унших боломжтой.

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");
// Шаардлагатай бол зургийн шүүлтүүр нэмнэ үү
// Энэ тохиолдолд бодлын оролт хүртэл маш бага чанартай байдаг
// Ердийн Tesseract-ийн чадахгүй зүйлийг IronTesseract унших боломжтой.

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")
' Шаардлагатай бол зургийн шүүлтүүр нэмнэ үү
' Энэ тохиолдолд бодлын оролт хүртэл маш бага чанартай байдаг
' Ердийн Tesseract-ийн чадахгүй зүйлийг IronTesseract унших боломжтой.

Dim Result = Ocr.Read(input)

' Консол нь араб хэлийг Windows дээр хялбархан хэвлэж чадахгүй.
' Үүний оронд диск рүү хадгалъя.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

Олон хэлний жишээ

Түүнчлэн олон хэлийг нэгэн зэрэг ашиглаж OCR хийх боломжтой. Энэ нь Англи хэл дээрх мета өгөгдөл болон Unicode баримт бичигт url хаяг оруулахад үнэхээр тусална.

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

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

// Бид хэдэн ч хэл нэмж болно

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

// Бид хэдэн ч хэл нэмж болно

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

' Бид хэдэн ч хэл нэмж болно

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.Mongolian;
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.Mongolian;
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.Mongolian
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-ийн талаар илүү ихийг мэдэхийг хүсвэл Iron OCR-ийг хэрхэн ашиглаж болох талаар бодит жишээг харуулсан манай олон нийтийн хичээлийг уншина уу. энэ номын сан.

.NET хөгжүүлэгчдэд зориулсан обьектын бүрэн лавлагаа авах боломжтой.