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
ហេតុអ្វីត្រូវជ្រើសរើស 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
ហេឡូវើលដ៍ដែលអាចកំណត់បាន
// 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
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
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
លេខកូដនិង 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
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
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
នាំចេញលទ្ធផល 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
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
នាំចេញលទ្ធផល 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
តម្រងបង្កើនគុណភាពរូបភាព 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
បញ្ជីនៃតម្រងរូបភាព 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
ឧទាហរណ៍ភាសាច្រើន
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
វត្ថុលទ្ធផល 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
ការសម្តែង
IronOCR ដំណើរការចេញពីប្រអប់ដោយមិនចាំបាច់កែសំរួលការសម្តែងឬកែប្រែរូបភាពបញ្ចូលយ៉ាងច្រើន។
ល្បឿនកំពុងឆេះ: IronOcr.2020 + លឿនជាងមុនដល់ទៅ ១០ ដងនិងធ្វើឱ្យមានកំហុសតិចជាង ២៥០% តិចជាងសំណង់មុន ៗ ។
ស្វែងយល់បន្ថែម
ដើម្បីស្វែងយល់បន្ថែមអំពី OCR នៅក្នុងភាសា C #, VB, F # ឬភាសាផ្សេងទៀត។ សូម អានការបង្រៀនសហគមន៍របស់យើង ដែលផ្តល់នូវឧទាហរណ៍ពិភពលោកជាក់ស្តែងអំពីវិធីដែលដែកអូស៊ីអិលអាចត្រូវបានប្រើហើយអាចបង្ហាញពីភាពរីករាយនៃវិធីដើម្បីទទួលបានអត្ថប្រយោជន៍ល្អបំផុត។ បណ្ណាល័យនេះ។
ឯកសារយោងវត្ថុ ពេញលេញ សម្រាប់អ្នកអភិវឌ្ឍន៍អិនណេត ក៏មានផងដែរ។