C#සහ .Net හි සිංහල OCR

මෙම ලේඛනයේ වෙනත් සංස්කරණ:

අයන්ඕසීආර් යනු සී # මෘදුකාංග සංරචකයකි .නෙට් කෝඩර්වරුන්ට සිංහල ඇතුළු භාෂා 126 කින් රූප සහ පී.ඩී.එෆ්.

එය .නෙට් සංවර්ධකයින් සඳහාම තනන ලද ටෙසෙරැක්ට් හි දෙබලක වන අතර වේගය සහ නිරවද්‍යතාවය යන දෙකටම නිතිපතා අනෙකුත් ටෙසරැක්ට් එන්ජින් අභිබවා යයි.

IronOcr.Languages.Sinhala හි අන්තර්ගතය

මෙම පැකේජයේ .NET සඳහා OCR භාෂා 114 ක් අඩංගු වේ:

  • සිංහල
  • සිංහලබෙස්ට්
  • සිංහල ෆාස්ට්
  • සිංහල ඇල්ෆබෙට්
  • සිංහල ඇල්ෆබෙට්බෙස්ට්
  • සිංහල ඇල්ෆබෙට් ෆාස්ට්

බාගත

සිංහල භාෂා ඇසුරුම [
* Download as සිප්
* Install with as
https://www.nuget.org/packages/IronOcr.Languages.Sinhala/'> නුජෙට්

ස්ථාපනය

අප විසින් කළ යුතු පළමු දෙය නම් අපගේ සිංහල OCR පැකේජය ඔබේ .NET ව්‍යාපෘතියට ස්ථාපනය කිරීමයි.

PM> Install-Package IronOCR.Languages.Sinhala

කේත උදාහරණය

මෙම C#කේත උදාහරණය රූප හෝ PDF ලේඛනයකින් සිංහල පෙළ කියවයි.

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

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

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

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

IronOCR තෝරා ගන්නේ ඇයි?

යකඩ OCR යනු පහසුවෙන් ස්ථාපනය කළ හැකි, සම්පූර්ණ හා හොඳින් ලේඛනගත කළ .NET මෘදුකාංග පුස්තකාලයකි.

කිසිදු බාහිර වෙබ් සේවා, අඛණ්ඩ ගාස්තු හෝ අන්තර්ජාලය හරහා රහස්‍ය ලේඛන යැවීමකින් තොරව 99.8% + OCR නිරවද්‍යතාවය ලබා ගැනීමට යකඩ ඕසීආර් තෝරන්න.

සී # සංවර්ධකයින් වැනිලා ටෙසරැක්ට වඩා යකඩ ඕසීආර් තෝරා ගන්නේ ඇයි:

  • තනි ඩීඑල්එල් හෝ නුගට් ලෙස ස්ථාපනය කරන්න
  • කොටුවෙන් පිටත ටෙසෙරැක්ට් 5, 4 සහ 3 එන්ජින් සඳහා ඇතුළත් වේ.
  • නිරවද්‍යතාවය 99.8% සාමාන්‍ය ටෙසරැක්ට වඩා සැලකිය යුතු ලෙස ඉක්මවා යයි.
  • දැවෙන වේගය සහ බහු ත්‍රෙඩ් කිරීම
  • MVC, WebApp, ඩෙස්ක්ටොප්, කොන්සෝලය සහ සේවාදායක යෙදුම අනුකූල වේ
  • වැඩ කිරීමට එක්සෙස් හෝ සී ++ කේත නොමැත
  • සම්පූර්ණ PDF OCR සහාය
  • OCR ඕනෑම රූප ගොනුවක් හෝ PDF එකක් පාහේ සිදු කිරීම
  • සම්පූර්ණ .නෙට් කෝර්, ස්ටෑන්ඩර්ඩ් සහ ෆ්‍රේම් වර්ක් සහාය
  • වින්ඩෝස්, මැක්, ලිනක්ස්, අසුර්, ඩෝකර්, ලැම්බඩා, ඒඩබ්ලිව්එස් මත යෙදවීම
  • තීරු කේත සහ QR කේත කියවන්න
  • XHTML ලෙස OCR අපනයනය කරන්න
  • සෙවිය හැකි PDF ලේඛන වෙත OCR අපනයනය කරන්න
  • බහු තෙරපුම් සහාය
  • ජාත්යන්තර භාෂා 126 ක් කළමනාකරණය කරන්නේ නුජෙට් හෝ ඕක් ඩේටා ගොනු හරහා ය
  • පින්තූර, ඛණ්ඩාංක, සංඛ්‍යාන සහ අකුරු උපුටා ගන්න. පෙළ පමණක් නොවේ.
  • වාණිජ හා හිමිකාර යෙදුම් තුළ ටෙසරැක්ට් ඕසීආර් නැවත බෙදා හැරීම සඳහා භාවිතා කළ හැකිය.

සැබෑ ලෝක රූප හා ඡායාරූප වැනි අසම්පූර්ණ ලේඛන හෝ ඩිජිටල් ශබ්දය හෝ අඩුපාඩු ඇති අඩු විභේදන ස්කෑන් සමඟ වැඩ කිරීමේදී යකඩ OCR බබළයි.

.NET වේදිකාව සඳහා වන වෙනත් නොමිලේ OCR පුස්තකාල වැනි වෙනත් .net ටෙසෙරැක්ට් ඒපීඅයි සහ වෙබ් සේවා මෙම සැබෑ ලෝක භාවිත අවස්ථා වලදී එතරම් හොඳින් ක්‍රියා නොකරයි.

ටෙසරැක්ට් 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.Sinhala
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Sinhala;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... ඔබට ඕනෑම පින්තූර ගණනක් එක් කළ හැකිය
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Sinhala
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Sinhala;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... ඔබට ඕනෑම පින්තූර ගණනක් එක් කළ හැකිය
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Sinhala
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Sinhala
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

ඕනෑම පී.ඩී.එෆ් ලේඛනයකින් පෙළ උකහා ගැනීම සඳහා එකම ප්‍රවේශය භාවිතා කළ හැකිය.

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Sinhala;
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.Sinhala;
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.Sinhala
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#

බහු පිටු TIFF සඳහා OCR

OCR කියවීම බහු පිටු ලේඛන ඇතුළුව TIFF ගොනු ආකෘතිය කියවීම. සෙවිය හැකි පෙළ සහිත TIFF කෙලින්ම PDF ගොනුවක් බවට පරිවර්තනය කළ හැකිය.

using IronOcr;

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

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

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

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

තීරු කේත සහ QR

යකඩ OCR හි සුවිශේෂී ලක්ෂණය වන්නේ එය පෙළ සඳහා පරිලෝකනය කරන අතරතුර ලේඛන වලින් තීරු කේත සහ 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

යකඩ OCR හි ස්කෑන් කිරීම සහ කියවීමේ ක්‍රම සියල්ලම අප පෙළ කියවීමට කැමති පිටුවක හෝ පිටුවක කුමන කොටසද යන්න නිශ්චිතව සඳහන් කිරීමේ හැකියාව ලබා දෙයි. අප ප්‍රමිතිගත ආකෘති දෙස බලන විට මෙය ඉතා ප්‍රයෝජනවත් වන අතර විශාල කාලයක් ඉතිරි කර කාර්යක්ෂමතාව වැඩි කළ හැකිය.

බෝග කලාප භාවිතා කිරීම සඳහා, අපට System.Drawing වෙත පද්ධති යොමු කිරීමක් එක් කිරීමට අවශ්‍ය වන අතර එමඟින් අපට System.Drawing.Rectangle වස්තුව භාවිතා කළ හැකිය.

using IronOcr;

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

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

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

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

යකඩ OCR OcrInput පන්තියට සාමාන්‍ය ටෙසරැක්ට කියවිය නොහැකි ස්කෑන් නිවැරදි කළ හැකිය.

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

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

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

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 ප්‍රති results ල සෙවිය හැකි PDF ලෙස අපනයනය කරන්න

පිටපත් කළ හැකි පෙළ නූල් සහිත PDF වෙත රූපය. සෙවුම් යන්ත්‍ර සහ දත්ත සමුදායන් මඟින් සුචිගත කළ හැකිය.

using IronOcr;

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

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

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

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 වෙත යොමු කරන්න, එය අන්තර් ජාලය, වෙබ් අඩවිය සහ ගූගල් සෙවුම් යන්ත්‍ර මගින් සුචිගත කළ හැකිය.

using IronOcr;

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

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

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

Using Input = New OcrInput()
input.AddMultiFrameTiff("example.tiff") var Result = Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

OCR ප්‍රති results ල HTML ලෙස අපනයනය කරන්න

OCR රූපය XHTML පරිවර්තනයට.

using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Sinhala;
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.Sinhala;
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.Sinhala
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 රූප වැඩි දියුණු කිරීමේ පෙරහන්

OCR කාර්ය සාධනය වැඩි දියුණු කිරීම සඳහා OcrInput .

රූප වැඩි දියුණු කිරීමේ කේත උදාහරණය

වඩා හොඳ වේගවත් OCR ප්‍රති .ල ලබා දීම සඳහා OCR ආදාන රූප උසස් තත්ත්වයේ කරයි.

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

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

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

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 (අංශක ද්විත්ව) - රූප අංශක ගණනකින් භ්‍රමණය වේ. ප්‍රති-ඔරලෝසුව සඳහා, negative ණ සංඛ්‍යා භාවිතා කරන්න.
  • OcrInput.Binarize () - මෙම රූප පෙරණය සෑම පික්සල් එකක්ම කළු හෝ සුදු බවට පත් කරන්නේ මැද බිමක් නොමැතිවය . පෙළට පසුබිමට වඩා අඩු වෙනස්කමක් ඇති OCR කාර්ය සාධන අවස්ථා වැඩි දියුණු කළ හැකිය.
  • OcrInput.ToGrayScale () - මෙම රූප පෙරණය සෑම පික්සෙල් එකක්ම අළු පාට සෙවනක් බවට පත් කරයි. OCR නිරවද්‍යතාව වැඩි දියුණු කිරීමට නොහැකි නමුත් වේගය වැඩි දියුණු කළ හැකිය
  • OcrInput.Contrast () - වෙනස ස්වයංක්‍රීයව වැඩි කරයි. මෙම පෙරණය බොහෝ විට අඩු ප්‍රතිවිරුද්ධ ස්කෑන් වලදී OCR වේගය සහ නිරවද්‍යතාව වැඩි දියුණු කරයි.
  • OcrInput.DeNoise () - ඩිජිටල් ශබ්දය ඉවත් කරයි. මෙම පෙරණය භාවිතා කළ යුත්තේ ශබ්දය අපේක්ෂා කරන තැන පමණි.
  • OcrInput.Invert () - සෑම වර්ණයක්ම ප්‍රතිලෝම කරයි. උදා සුදු සුදු බවට පත්වේ: කළු සුදු බවට පත්වේ.
  • OcrInput.Dilate () - උසස් රූප විද්‍යාව. රූපයක් තුළ ඇති වස්තූන්ගේ මායිමට විස්තාරණය පික්සෙල් එකතු කරයි. ඊරෝඩ් වලට විරුද්ධයි
  • OcrInput.Erode () - උසස් රූප විද්‍යාව. ඛාදනය වස්තු මායිම්වල පික්සෙල් ඉවත් කරයි
  • OcrInput.Deskew () - රූපයක් භ්‍රමණය වන බැවින් එය නිවැරදි මාර්ගය සහ විකලාංග වේ. OCR සඳහා මෙය ඉතා ප්‍රයෝජනවත් වේ. මන්දයත් ස්කීව් ස්කෑන් සඳහා ටෙසරැක්ට් ඉවසීම අංශක 5 ක් තරම් අඩු විය හැකි බැවිනි.
  • OcrInput.DeepCleanBackgroundNoise () - අධික පසුබිම් ශබ්දය ඉවත් කිරීම. ආන්තික ලේඛන පසුබිම් ශබ්දය දන්නා අවස්ථාවකදී පමණක් මෙම පෙරණය භාවිතා කරන්න, මන්ද මෙම පෙරණය පිරිසිදු ලේඛනවල OCR නිරවද්‍යතාවය අඩු කිරීමේ අවදානමක් ඇති අතර එය ඉතා CPU මිල අධිකය.
  • OcrInput.EnhanceResolution - අඩු ගුණාත්මක රූපවල විභේදනය වැඩි දියුණු කරයි. මෙම පෙරණය බොහෝ විට අවශ්‍ය නොවන්නේ OcrInput.MinimumDPI සහ OcrInput.TargetDPI ස්වයංක්‍රීයව අඩු විභේදන යෙදවුම් අල්ලා විසඳන බැවිනි.

CleanBackgroundNoise. මෙය තරමක් කාලය ගතවන පසුබිමකි; කෙසේ වෙතත්, ඩිජිටල් රූපයක් තුළ ඩිජිටල් ශබ්දය, කඩදාසි ගරා වැටීම් සහ වෙනත් අඩුපාඩු ස්වයංක්‍රීයව පිරිසිදු කිරීමට පුස්තකාලයට ඉඩ සලසයි, එමඟින් වෙනත් OCR පුස්තකාල කියවීමට නොහැකි වනු ඇත.

EnhanceContrast යනු යකඩ OCR මඟින් රූපයක පසුබිමට සාපේක්ෂව ස්වයංක්‍රීයව පෙළෙහි වෙනස ස්වයංක්‍රීයව වැඩි කිරීමටත්, OCR හි නිරවද්‍යතාව වැඩි කිරීමටත් සාමාන්‍යයෙන් කාර්ය සාධනය සහ OCR හි වේගය වැඩි කිරීමටත් හේතු වන සැකසුමකි.

EnhanceResolution යනු අඩු විභේදන රූප (275 dpi ට අඩු) ස්වයංක්‍රීයව හදුනාගෙන ස්වයංක්‍රීයව රූපය ඉහළ නංවා සියලු පෙළ මුවහත් කරවන අතර එය OCR පුස්තකාලයකට පරිපූර්ණව කියවිය හැකිය. මෙම මෙහෙයුම කාලය ගතවන නමුත් සාමාන්‍යයෙන් එය රූපයක් මත OCR මෙහෙයුමක් සඳහා ගතවන කාලය අඩු කරයි.

භාෂා යකඩ OCR අන්තර්ජාතික භාෂා ඇසුරුම් 22 ක් සඳහා සහාය වන අතර, OCR මෙහෙයුමක් සඳහා යෙදිය යුතු භාෂා එකක් හෝ කිහිපයක් තෝරා ගැනීමට භාෂා සැකසුම භාවිතා කළ හැකිය.

උපායමාර්ගය යකඩ OCR උපාය මාර්ග දෙකකට සහාය වේ. අපි ලේඛනයක වේගවත් හා අඩු නිරවද්‍ය ස්කෑන් පරීක්ෂණයක් සඳහා තෝරා ගත හැකිය, නැතහොත් වාක්‍යයකින් වචන එකිනෙකට සංඛ්‍යානමය සම්බන්ධතාවය දෙස බැලීමෙන් OCR පෙළෙහි නිරවද්‍යතාවය ස්වයංක්‍රීයව වැඩි දියුණු කිරීම සඳහා කෘතිම බුද්ධි ආකෘති භාවිතා කරන උසස් උපාය මාර්ගයක් භාවිතා කළ හැකිය. .

ColorSpace යනු අළු පාට හෝ වර්ණයෙන් OCR තෝරා ගත හැකි පසුබිමකි . සාමාන්යයෙන්, අළු පාට හොඳම විකල්පයයි. කෙසේ වෙතත්, සමහර විට සමාන වර්ණවල නමුත් වෙනස් වර්ණයක පෙළ හෝ පසුබිම් ඇති විට, පූර්ණ වර්ණ වර්ණ අවකාශයක් වඩා හොඳ ප්‍රති .ල ලබා දෙනු ඇත.

DetectWhiteTextOnDarkBackgrounds. සාමාන්‍යයෙන්, සියලුම OCR පුස්තකාල සුදු පැහැති පසුබිම්වල කළු පා see දැකීමට අපේක්ෂා කරයි. මෙම සැකසුම යකඩ OCR මඟින් නිෂේධන ස්වයංක්‍රීයව හඳුනා ගැනීමට හෝ සුදු පා with සහිත අඳුරු පිටු ස්වයංක්‍රීයව හඳුනා ගැනීමට සහ ඒවා කියවීමට ඉඩ දෙයි.

InputImageType. මෙම සැකසුම මඟින් සංවර්ධකයාට OCR පුස්තකාලය සම්පූර්ණ ලේඛනයක් හෝ තිර රුවක් වැනි ස්නිපටයක් දෙස බලන්නේ දැයි මඟ පෙන්වීමට ඉඩ දෙයි.

RotateAndStraighten යනු දියුණු සැකසුමකි, එය භ්‍රමණය වනවා පමණක් නොව, පෙළ ලේඛනවල ඡායාරූප වැනි ඉදිරිදර්ශනයක් ද ඇති යකඩ OCR ට අද්විතීය හැකියාව ලබා දෙයි.

රීඩ්බාර්කෝඩ්ස් යනු ප්‍රයෝජනවත් අංගයක් වන අතර යකඩ OCR මඟින් අමතර අමතර කාල බරක් එකතු නොකර පා text කියවන බැවින් පිටු වල බාර්කෝඩ් සහ QR කේත ස්වයංක්‍රීයව කියවීමට ඉඩ ලබා දේ.

වර්ණ ගැඹුර. මෙම සැකසුම මඟින් වර්ණයක ගැඹුර තීරණය කිරීම සඳහා OCR පුස්තකාලය භාවිතා කරන්නේ පික්සෙල් එකකට බිට් කීයක් ද යන්නයි. ඉහළ වර්ණ ගැඹුරකින් OCR ගුණාත්මකභාවය ඉහළ යා හැකි නමුත් OCR මෙහෙයුම සම්පූර්ණ කිරීමට ගතවන කාලය වැඩි කරයි.

භාෂා ඇසුරුම් 126

මෙම වෙබ් අඩවියෙන් හෝ නුජෙට් පැකේජ කළමණාකරුගෙන් බාගත හැකි ඩීඑල්එල් ලෙස බෙදා හරින ලද භාෂා ඇසුරුම් හරහා යකඩ ඕසීආර් ජාත්‍යන්තර භාෂා 126 ක් සඳහා සහාය වේ.

භාෂාවන්ට ජර්මානු, ප්‍රංශ, ඉංග්‍රීසි, චීන, ජපන් සහ තවත් බොහෝ දේ ඇතුළත් වේ. විදේශ ගමන් බලපත්‍රයේ MRZ, MICR චෙක්පත්, මූල්‍ය දත්ත, බලපත්‍ර තහඩු සහ තවත් බොහෝ දේ සඳහා විශේෂ language භාෂා ඇසුරුම් තිබේ. ඔබට ඕනෑම ටෙසරැක්ට් ".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");
// අවශ්‍ය නම් රූප පෙරහන් එක් කරන්න
// මෙම අවස්ථාවේ දී, සිතූ ආදානය පවා ඉතා අඩු ගුණාත්මක බවින් යුක්ත වේ
// සාම්ප්‍රදායික ටෙසරැක්ට නොහැකි දේ යකඩ ටෙසරැක්ට කියවිය හැකිය.

var Result = Ocr.Read(input);

// වින්ඩෝස් හි පහසුවෙන් අරාබි මුද්‍රණය කළ නොහැක.
// ඒ වෙනුවට තැටියට සුරකිමු.
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");
// අවශ්‍ය නම් රූප පෙරහන් එක් කරන්න
// මෙම අවස්ථාවේ දී, සිතූ ආදානය පවා ඉතා අඩු ගුණාත්මක බවින් යුක්ත වේ
// සාම්ප්‍රදායික ටෙසරැක්ට නොහැකි දේ යකඩ ටෙසරැක්ට කියවිය හැකිය.

var Result = Ocr.Read(input);

// වින්ඩෝස් හි පහසුවෙන් අරාබි මුද්‍රණය කළ නොහැක.
// ඒ වෙනුවට තැටියට සුරකිමු.
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")
' අවශ්‍ය නම් රූප පෙරහන් එක් කරන්න
' මෙම අවස්ථාවේ දී, සිතූ ආදානය පවා ඉතා අඩු ගුණාත්මක බවින් යුක්ත වේ
' සාම්ප්‍රදායික ටෙසරැක්ට නොහැකි දේ යකඩ ටෙසරැක්ට කියවිය හැකිය.

Dim Result = Ocr.Read(input)

' වින්ඩෝස් හි පහසුවෙන් අරාබි මුද්‍රණය කළ නොහැක.
' ඒ වෙනුවට තැටියට සුරකිමු.
Result.SaveAsTextFile("arabic.txt")
End Using
VB   C#

බහු භාෂා උදාහරණය

එකවර විවිධ භාෂා භාවිතා කරමින් OCR වෙතද හැකිය. යුනිකෝඩ් ලේඛනවල ඉංග්‍රීසි භාෂා පාර-දත්ත සහ යූආර්එල් ලබා ගැනීමට මෙය සැබවින්ම උපකාරී වේ.

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

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

// අපට ඕනෑම භාෂා ගණනක් එකතු කළ හැකිය

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

// අපට ඕනෑම භාෂා ගණනක් එකතු කළ හැකිය

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

' අපට ඕනෑම භාෂා ගණනක් එකතු කළ හැකිය

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

සවිස්තර OCR ප්‍රති Results ල වස්තු

යකඩ OCR සෑම OCR මෙහෙයුමක් සඳහාම OCR ප්‍රති result ල වස්තුවක් ලබා දෙයි. සාමාන්‍යයෙන්, සංවර්ධකයින් මෙම වස්තුවේ පෙළ ගුණාංග පමණක් රූපයෙන් පරිලෝකනය කිරීමට භාවිතා කරයි. කෙසේ වෙතත්, OCR ප්‍රති results ල DOM මෙයට වඩා බොහෝ දියුණු ය.

using IronOcr;
using System.Drawing; //එකලස් කිරීමේ යොමුව එක් කරන්න

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Sinhala;
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.Sinhala;
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.Sinhala
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.2020 + 10 ගුණයකින් වේගවත් වන අතර පෙර ගොඩනැඟිලි වලට වඩා 250% අඩු දෝෂ ඇති කරයි.

වැඩිදුර ඉගෙන ගන්න

C #, VB, F #, හෝ වෙනත් ඕනෑම .NET භාෂාවෙන් OCR ගැන වැඩි විස්තර දැනගැනීම සඳහා කරුණාකර අපගේ ප්‍රජා නිබන්ධන කියවන්න , එමඟින් යකඩ OCR භාවිතා කළ හැකි ආකාරය පිළිබඳ සැබෑ ලෝක උදාහරණ ලබා දෙන අතර එයින් උපරිම ප්‍රයෝජන ලබා ගන්නේ කෙසේද යන්න පිළිබඳ සූක්ෂ්මතා පෙන්වනු ඇත. මෙම පුස්තකාලය.

.NET සංවර්ධකයින් සඳහා සම්පූර්ණ වස්තු යොමු කිරීමක් ද ඇත.