Khmer OCR ជាស៊ី # និងអិន។ ណេស

កំណែផ្សេងទៀតនៃឯកសារនេះ៖

IronOCR គឺជាសមាសធាតុកម្មវិធី C#ដែលអនុញ្ញាតឱ្យអ្នកសរសេរកូដណេតអាចអានអត្ថបទពីរូបភាពនិងឯកសារ PDF ជា ១២៦ ភាសារួមទាំងភាសាខ្មែរផងដែរ។

វាគឺជាសមនៃ Tesseract ទំនើបដែលត្រូវបានបង្កើតឡើងសម្រាប់អ្នកអភិវឌ្ឍន៍អិន។ ណេតនិងជាជាងម៉ាស៊ីន Tesseract ផ្សេងទៀតជាទៀងទាត់សម្រាប់ល្បឿននិងភាពត្រឹមត្រូវ។

មាតិកានៃ IronOcr.Languages.Khmer

កញ្ចប់នេះមាន ១០២ ភាសា OCR សំរាប់។ ណេតៈ

  • ខ្មែរ
  • ខ្មែរប៊ែស
  • KhmerFast
  • អក្សរខ្មែរ
  • KhmerAlphabetBest
  • KhmerAlphabetFast

ទាញយក

កញ្ចប់ភាសារ ខ្មែរ [ខ្មែរ]
* Download as ហ្ស៊ីប
* Install with as
https://www.nuget.org/packages/IronOcr.Languages.Khmer/'> NuGet

ការដំឡើង

រឿងដំបូងដែលយើងត្រូវធ្វើគឺតំឡើងកញ្ចប់ ខ្មែរ អូអររបស់យើងទៅគំរោងអិនណេតរបស់អ្នក។

PM> Install-Package IronOCR.Languages.Khmer

ឧទាហរណ៍កូដ

ឧទាហរណ៍កូដ C#នេះអានអត្ថបទជាភាសាខ្មែរពីឯកសាររូបភាពឬឯកសារ PDF ។

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

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

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

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

ហេតុអ្វីត្រូវជ្រើសរើស IronOCR?

ដែកអូអឹមអេសគឺជាបណ្ណាល័យងាយស្រួលតំឡើងពេញលេញនិងមានឯកសារត្រឹមត្រូវ។ បណ្ណាល័យសូហ្វវែរណេត។

ជ្រើសរើស IronOCR ដើម្បីទទួលបាន ៩៩,៨% + OCR ភាពត្រឹមត្រូវ ដោយមិនប្រើប្រាស់សេវាកម្មគេហទំព័រខាងក្រៅថ្លៃឈ្នួលបន្តរឺផ្ញើឯកសារសំងាត់តាមអ៊ិនធរណេត។

ហេតុអ្វីបានជាអ្នកអភិវឌ្ឍន៍ C#ជ្រើសរើសយក IronOCR លើវ៉ាន់នីឡា Tesseract៖

  • ដំឡើងជាឌី។ អេ។ ឌី។ អេ។ ឌី។ ឌី។ ត
  • រួមបញ្ចូលសម្រាប់ម៉ាស៊ីន Tesseract 5, 4 និង 3 ម៉ាស៊ីនចេញពីប្រអប់។
  • ភាពត្រឹមត្រូវ ៩៩,៨% ខ្ពស់ជាងការធ្វើនាវាធម្មតា។
  • ល្បឿននៃការឆេះនិងការផ្សព្វផ្សាយច្រើន
  • MVC, WebApp, Desktop, Console និង Server Application ត្រូវគ្នា
  • មិនមានលេខកូដ Ex ឬ C ++ ដើម្បីធ្វើការជាមួយទេ
  • ការគាំទ្រ OCR PDF ពេញលេញ
  • ដើម្បីអនុវត្ត OCR ស្ទើរតែគ្រប់ឯកសាររូបភាពឬជាឯកសារ PDF
  • ការគាំទ្រយ៉ាងពេញទំហឹងចំពោះបណ្តាញណេតណេតស្ដង់ដារនិងហ្វ្រេកវ៉កឃឺ
  • ដាក់ពង្រាយនៅលើប្រព័ន្ធប្រតិបត្តិការ Windows, Mac, លីនុច, Azure, Docker, Lambda, AWS
  • អានលេខកូដនិងលេខកូដ QR
  • នាំចេញ OCR ជា XHTML
  • នាំចេញ OCR ទៅឯកសារ PDF ដែលអាចស្វែងរកបាន
  • ការគាំទ្រពហុភាសា
  • ភាសាអន្តរជាតិចំនួន ១២៦ ត្រូវបានគ្រប់គ្រងតាមរយៈឯកសារ NuGet ឬ OcrData
  • ស្រង់រូបភាពសំរបសំរួលស្ថិតិនិងពុម្ពអក្សរ។ មិនត្រឹមតែអត្ថបទទេ។
  • អាចត្រូវបានប្រើដើម្បីចែកចាយ Tesseract OCR នៅខាងក្នុងកម្មវិធីពាណិជ្ជកម្មនិងកម្មសិទ្ធ។

ដែក OCR រះនៅពេលធ្វើការជាមួយរូបភាពពិភពពិតនិងឯកសារមិនល្អឥតខ្ចោះដូចជារូបថតឬស្កេនគុណភាពបង្ហាញទាបដែលអាចមានសម្លេងរំខានឌីជីថលឬភាពមិនល្អឥតខ្ចោះ។

បណ្ណាល័យ OCR ឥតគិតថ្លៃ ផ្សេងទៀតសម្រាប់វេទិកាអិន។ ណេត APIs និងសេវាកម្មគេហទំព័រដែលមិនដំណើរការបែបនេះមិនដំណើរការល្អទេលើករណីប្រើប្រាស់ពិភពពិតទាំងនេះ។

OCR ជាមួយ Tesseract 5 - ចាប់ផ្តើមសរសេរកូដក្នុង C #

គំរូកូដខាងក្រោមបង្ហាញពីភាពងាយស្រួលក្នុងការអានអត្ថបទពីរូបភាពដោយប្រើ C#ឬ VB ។ ណេត។

វ័នលីន

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.Khmer
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Khmer;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... អ្នកអាចបន្ថែមចំនួនរូបភាពណាមួយ
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Khmer
using IronOcr;

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Khmer;
using (var Input = new OcrInput()){
Input.AddImage("images/sample.jpeg")
//... អ្នកអាចបន្ថែមចំនួនរូបភាពណាមួយ
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Khmer
Imports IronOcr

Private Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Khmer
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.Khmer;
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
}
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Khmer;
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
}
Dim Ocr = New IronTesseract()
Ocr.Language = OcrLanguage.Khmer
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
End Using
VB   C#

OCR សម្រាប់ពហុភីធីអិលធីភី

OCR ការអានទ្រង់ទ្រាយឯកសារ TIFF រួមទាំងឯកសារទំព័រជាច្រើន។ TIFF ក៏អាចត្រូវបានបំលែងដោយផ្ទាល់ទៅជាឯកសារ PDF ជាមួយនឹងអត្ថបទដែលអាចស្វែងរកបាន។

using IronOcr;

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

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

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

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

លេខកូដនិង QR

លក្ខណៈពិសេសប្លែកមួយនៃដែកអូអឹមគឺវាអាចអានលេខកូដនិងលេខកូដ 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 ដូច្នេះយើងអាចប្រើវត្ថុ System.Drawing.Rectangle

using IronOcr;

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

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

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

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 សម្រាប់ស្កែនដែលមានគុណភាពទាប

ថ្នាក់ដែក OCR OcrInput អាចជួសជុលស្កែនដែល Tesseract ធម្មតាមិនអាចអានបាន។

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

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

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

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

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

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

Using Input = New OcrInput()
input.Title = "Quarterly Report" input.AddImage("image1.jpeg")
input.AddImage("image2.png")
input.AddImage("image3.gif")

Dim Result = Ocr.Read(input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
VB   C#

TIFF ដើម្បីបំលែងឯកសារ PDF ដែលអាចស្វែងរកបាន

បញ្ចូលឯកសារ TIFF (ឬក្រុមណាមួយនៃឯកសាររូបភាព) ដោយផ្ទាល់ទៅឯកសារ PDF ដែលអាចស្វែងរកបានដែលអាចត្រូវបានធ្វើលិបិក្រមដោយអ៊ិនត្រាណិតគេហទំព័រនិងម៉ាស៊ីនស្វែងរកហ្គូហ្គល។

using IronOcr;

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

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

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

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.Khmer;
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.Khmer;
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.Khmer
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 មានគុណភាពខ្ពស់ដើម្បីផលិតបានលទ្ធផលកាន់តែប្រសើរនិងលឿនជាងមុន។

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

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

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

Using Input = New OcrInput("LowQuality.jpeg")
Input.DeNoise() ' ដោះស្រាយសំលេងរំខានឌីជីថលនិងស្កេនខ្សោយ
Input.Deskew() ' ដោះស្រាយការបង្វិលនិងទស្សនៈ
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
VB   C#

បញ្ជីនៃតម្រងរូបភាព OCR

តម្រងបញ្ចូលដើម្បីបង្កើនការអនុវត្ត OCR ដែលត្រូវបានបង្កើតឡើងនៅក្នុង IronOCR រួមមាន៖

  • OcrInput.Rotate (ទ្វេដងដឺក្រេ) - បង្វិលរូបភាពតាមចំនួនដឺក្រេតាមទ្រនិចនាឡិកា។ សម្រាប់ប្រឆាំងនឹងទ្រនិចនាឡិកាសូមប្រើលេខអវិជ្ជមាន។
  • OcrInput.Binarize () - តម្រងរូបភាពនេះប្រែជាគ្រប់ភីកសែលខ្មៅឬសដោយគ្មានដីកណ្តាល អាចធ្វើឱ្យប្រសើរឡើងនូវករណីអនុវត្ត OCR នៃកម្រិតពណ៌ទាបនៃអត្ថបទទៅផ្ទៃខាងក្រោយ។
  • OcrInput.ToGrayScale () - តម្រងរូបភាពនេះបំលែងរាល់ភីកសែលទៅជាម្លប់ពណ៌ប្រផេះ។ មិនទំនងជាធ្វើឱ្យប្រសើរឡើងនូវភាពត្រឹមត្រូវ OCR ទេប៉ុន្តែអាចបង្កើនល្បឿន
  • OcrInput.Contrast () - បង្កើនកម្រិតពណ៌ដោយស្វ័យប្រវត្តិ។ តម្រងនេះធ្វើអោយប្រសើរឡើងនូវល្បឿន OCR និងភាពត្រឹមត្រូវក្នុងការស្កែនកម្រិតពណ៌ទាប។
  • OcrInput.DeNoise () - ដកសំលេងរំខានឌីជីថលចេញ។ តម្រងនេះគួរតែត្រូវបានប្រើតែនៅពេលមានសម្លេងរំខាន។
  • OcrInput.Invert () - បញ្ច្រាសគ្រប់ពណ៌។ ឧទាហរណ៍ពណ៌សក្លាយជាខ្មៅ: ខ្មៅក្លាយជាពណ៌ស។
  • OcrInput.Dilate () - រូបវិទ្យាទំនើប។ ការដាក់ពង្រាយ បន្ថែមភីកសែលទៅនឹងព្រំដែននៃវត្ថុនៅក្នុងរូបភាព។ ទល់មុខអេរ៉ូឌ
  • OcrInput.Erode () - រូបវិទ្យាទំនើប។ សំណឹក យកភីកសែលនៅលើព្រំដែនវត្ថុវត្ថុនៃអ័រឌីស
  • OcrInput.Deskew () - បង្វិលរូបភាពដូច្នេះវាជាផ្លូវត្រូវនិងខាងស្តាំ។ វាមានប្រយោជន៍ខ្លាំងណាស់សម្រាប់ OCR ពីព្រោះការអត់ធ្មត់ចំពោះការស្កេនស្គែនអាចទាបដល់ ៥ ដឺក្រេ។
  • OcrInput.DeepCleanBackgroundNoise () - ការដកចេញសំលេងរំខានផ្ទៃខាងក្រោយធ្ងន់។ ប្រើតែតម្រងនេះក្នុងករណីដែលមានសំលេងលឺច្បាស់នៅក្នុងប្រពន្ធ័ឯកសារព្រោះតម្រងនេះក៏នឹងប្រថុយកាត់បន្ថយភាពត្រឹមត្រូវ OCR នៃឯកសារស្អាតដែរហើយស៊ីភីយូថ្លៃណាស់។
  • OcrInput.EnhanceResolution - បង្កើនគុណភាពបង្ហាញនៃគុណភាពរូបភាពទាប។ តម្រងនេះមិនត្រូវការជាញឹកញាប់ទេពីព្រោះ OcrInput.MinimumDPI និង OcrInput.TargetDPI នឹងចាប់យកដោយស្វ័យប្រវត្តិនិងដោះស្រាយធាតុចូលដែលមានគុណភាពបង្ហាញទាប។

CleanBackgroundNoise ។ នេះគឺជាការកំណត់មួយដែលចំណាយពេលខ្លះ។ ទោះយ៉ាងណាវាអនុញ្ញាតឱ្យបណ្ណាល័យសម្អាតសំលេងរំខានឌីជីថលក្រដាស់ក្រដាសនិងភាពមិនល្អឥតខ្ចោះដទៃទៀតនៅក្នុងរូបភាពឌីជីថលដែលអាចធ្វើឱ្យវាមិនអាចអានបានដោយបណ្ណាល័យ OCR ផ្សេងទៀត។

EnhanceContrast គឺជាការកំណត់ដែលបណ្តាលឱ្យដែក OCR បង្កើនកម្រិតពណ៌នៃអត្ថបទផ្ទុយពីផ្ទៃខាងក្រោយនៃរូបភាពបង្កើនភាពត្រឹមត្រូវនៃ OCR និងជាទូទៅបង្កើនការអនុវត្តនិងល្បឿន OCR ។

បង្កើនប្រសិទ្ធភាពដំណោះស្រាយ គឺជាការកំណត់ដែលនឹងរកឃើញរូបភាពដែលមានគុណភាពបង្ហាញទាបដោយស្វ័យប្រវត្តិ (ដែលមានអាយុក្រោម ២៧៥ ឌី។ ភី។ ) និងបង្កើនរូបភាពដោយស្វ័យប្រវត្តិហើយបន្ទាប់មកពង្រីកអត្ថបទទាំងអស់ដូច្នេះវាអាចអានបានយ៉ាងល្អឥតខ្ចោះដោយបណ្ណាល័យ OCR ។ ទោះបីជាប្រតិបត្ដិការនេះស្ថិតនៅក្នុងការប្រើប្រាស់ពេលវេលាក៏ដោយក៏ជាទូទៅវាកាត់បន្ថយពេលវេលាទូទៅសម្រាប់ប្រតិបត្តិការ OCR លើរូបភាព។

OCR ភាសា ដែកគាំទ្រកញ្ចប់ព័ត៌មានអន្តរជាតិចំនួន ២២ កញ្ចប់ហើយការកំណត់ភាសាអាចត្រូវបានប្រើដើម្បីជ្រើសរើសភាសាមួយឬច្រើនដែលត្រូវបានអនុវត្តសម្រាប់ប្រតិបត្តិការ OCR ។

យុទ្ធសាស្រ្ត ដែកអូស៊ីអិមគាំទ្រយុទ្ធសាស្ត្រពីរ។ យើងអាចជ្រើសរើសការស្កេនឯកសារបានលឿននិងមិនត្រឹមត្រូវឬប្រើយុទ្ធសាស្ត្រជឿនលឿនដែលប្រើគំរូបញ្ញាសិប្បនិម្មិតដើម្បីកែលម្អភាពត្រឹមត្រូវនៃអត្ថបទ OCR ដោយស្វ័យប្រវត្តិដោយមើលទំនាក់ទំនងស្ថិតិនៃពាក្យទៅគ្នាទៅវិញទៅមកក្នុងប្រយោគ។ ។

ColorSpace គឺជាការកំណត់ដែលយើងអាចជ្រើសរើស OCR ជាមាត្រដ្ឋានប្រផេះឬពណ៌។ ជាទូទៅមាត្រដ្ឋានប្រផេះជាជំរើសល្អបំផុត។ ទោះយ៉ាងណាក៏ដោយពេលខ្លះនៅពេលមានអត្ថបទឬប្រវត្តិនៃពណ៌លាំ ៗ ប្រហាក់ប្រហែលគ្នាប៉ុន្តែមានពណ៌ខុសៗគ្នាចន្លោះពណ៌ពេញនឹងផ្តល់នូវលទ្ធផលល្អប្រសើរ។

រកឃើញវ៉តធីធីធីអូអូឃិកប៊ឺកធីលស៍។ ជាទូទៅបណ្ណាល័យ OCR ទាំងអស់រំពឹងថានឹងឃើញអត្ថបទខ្មៅនៅលើផ្ទៃខាងក្រោយពណ៌ស។ ការកំណត់នេះអនុញ្ញាតឱ្យ IronOCR រកឃើញចំណុចអវិជ្ជមានឬទំព័រងងឹតដោយប្រើអក្សរពណ៌សហើយអានវា។

InputImageType ។ ការកំណត់នេះអនុញ្ញាតឱ្យអ្នកអភិវឌ្ឍន៍ណែនាំបណ្ណាល័យ OCR ថាតើវាកំពុងមើលឯកសារពេញលេញឬអត្ថបទខ្លីៗដូចជារូបថតអេក្រង់។

RotateAndStraighten គឺជាការកំណត់កម្រិតខ្ពស់ដែលអនុញ្ញាតឱ្យ IronOCR មានសមត្ថភាពពិសេសក្នុងការអានឯកសារដែលមិនត្រឹមតែបង្វិលប៉ុណ្ណោះទេប៉ុន្តែប្រហែលជាមានទស្សនៈដូចជារូបថតឯកសារអត្ថបទ។

ReadBarcodes គឺជាមុខងារមានប្រយោជន៍ដែលអនុញ្ញាតឱ្យ IronOCR អានកូដនិងលេខកូដ QR ដោយស្វ័យប្រវត្តិនៅលើទំព័រនៅពេលវាអានអត្ថបទដោយមិនចាំបាច់បន្ថែមបន្ទុកពេលវេលាធំទេ។

ColorDepth ។ ការកំណត់នេះកំណត់ចំនួនប៊ីតក្នុងមួយភីកសែលបណ្ណាល័យ OCR នឹងប្រើដើម្បីកំណត់ជម្រៅពណ៌។ ជម្រៅពណ៌ខ្ពស់អាចបង្កើនគុណភាព OCR ប៉ុន្តែក៏នឹងបង្កើនពេលវេលាដែលត្រូវការសម្រាប់ប្រតិបត្តិការ OCR ដើម្បីបញ្ចប់។

កញ្ចប់ភាសាចំនួន ១២៦

IronOCR គាំទ្រដល់ ភាសាអន្តរជាតិចំនួន ១២៦ ភាសា តាមរយៈកញ្ចប់ភាសាដែលត្រូវបានចែកចាយជាឌីអេសអិលដែលអាច ទាញយកពីគេហទំព័រ នេះឬពី កម្មវិធីគ្រប់គ្រងកញ្ចប់នុយហ្គេត

ភាសារួមមានអាឡឺម៉ង់បារាំងអង់គ្លេសចិនជប៉ុននិងភាសាជាច្រើនទៀត។ កញ្ចប់ភាសាជំនាញមានសម្រាប់លិខិតឆ្លងដែន MRZ, មូលប្បទានប័ត្រមីស៊ីធី, ទិន្នន័យហិរញ្ញវត្ថុ, ស្លាកលេខនិងច្រើនទៀត។ អ្នកក៏អាចប្រើឯកសារ ".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);

// កុងសូលមិនអាចបោះពុម្ពអារ៉ាប់នៅលើវីនដូបានយ៉ាងងាយស្រួលទេ។
// ចូររក្សាទុកទៅឌីសជំនួសវិញ។
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);

// កុងសូលមិនអាចបោះពុម្ពអារ៉ាប់នៅលើវីនដូបានយ៉ាងងាយស្រួលទេ។
// ចូររក្សាទុកទៅឌីសជំនួសវិញ។
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)

' កុងសូលមិនអាចបោះពុម្ពអារ៉ាប់នៅលើវីនដូបានយ៉ាងងាយស្រួលទេ។
' ចូររក្សាទុកទៅឌីសជំនួសវិញ។
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.Khmer);

// យើងអាចបន្ថែមចំនួនភាសាណាមួយក៏បាន

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

// យើងអាចបន្ថែមចំនួនភាសាណាមួយក៏បាន

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

' យើងអាចបន្ថែមចំនួនភាសាណាមួយក៏បាន

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

វត្ថុលទ្ធផល OCR លម្អិត

OCR ដែកត្រឡប់វត្ថុលទ្ធផល OCR សម្រាប់ប្រតិបត្តិការ OCR នីមួយៗ។ ជាទូទៅអ្នកអភិវឌ្ឍន៍ប្រើតែលក្ខណសម្បត្តិអត្ថបទរបស់វត្ថុនេះដើម្បីទទួលបានអត្ថបទស្កេនពីរូបភាព។ ទោះយ៉ាងណាលទ្ធផល OCR DOM គឺជឿនលឿនជាងនេះ។

using IronOcr;
using System.Drawing; //បន្ថែមឯកសារយោងរដ្ឋសភា

var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.Khmer;
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.Khmer;
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.Khmer
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 + លឿនជាងមុនដល់ទៅ ១០ ដងនិងធ្វើឱ្យមានកំហុសតិចជាង ២៥០% តិចជាងសំណង់មុន ៗ ។

ស្វែង​យល់​បន្ថែម

ដើម្បីស្វែងយល់បន្ថែមអំពី OCR នៅក្នុងភាសា C #, VB, F # ឬភាសាផ្សេងទៀត។ សូម អានការបង្រៀនសហគមន៍របស់យើង ដែលផ្តល់នូវឧទាហរណ៍ពិភពលោកជាក់ស្តែងអំពីវិធីដែលដែកអូស៊ីអិលអាចត្រូវបានប្រើហើយអាចបង្ហាញពីភាពរីករាយនៃវិធីដើម្បីទទួលបានអត្ថប្រយោជន៍ល្អបំផុត។ បណ្ណាល័យនេះ។

ឯកសារយោងវត្ថុ ពេញលេញ សម្រាប់អ្នកអភិវឌ្ឍន៍អិនណេត ក៏មានផងដែរ។