सी # और .NET में हिंदी ओसीआर

इस दस्तावेज़ के अन्य संस्करण:

आयरनओसीआर एक सी # सॉफ्टवेयर घटक है जो .NET कोडर्स को हिंदी सहित 126 भाषाओं में छवियों और पीडीएफ दस्तावेजों से पाठ पढ़ने की अनुमति देता है।

यह Tesseract का एक उन्नत कांटा है, जो विशेष रूप से .NET डेवलपर्स के लिए बनाया गया है और गति और सटीकता दोनों के लिए नियमित रूप से अन्य Tesseract इंजन को बेहतर बनाता है।

IronOcr.Languages.Hindi की सामग्री

इस पैकेज में .NET के लिए 40 OCR भाषाएं हैं:

  • हिंदी
  • HindiBest
  • HindiFast

डाउनलोड

हिंदी भाषा पैक [ हिंदी ]
* Download as ज़िप
* Install with
https://www.nuget.org/packages/IronOcr.Languages.Hindi/' NuGet

स्थापना

सबसे पहले हमें अपना हिंदी OCR पैकेज अपने .NET प्रोजेक्ट में स्थापित करना होगा।

PM> Install-Package IronOCR.Languages.Hindi

कोड उदाहरण

यह C#कोड उदाहरण एक छवि या पीडीएफ दस्तावेज़ से हिंदी पाठ को पढ़ता है।

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

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

// Load the input image for OCR processing
using (var Input = new OcrInput(@"images\Hindi.png"))
{
    // Read the input image to extract text
    var Result = Ocr.Read(Input);

    // Store the extracted text
    var AllText = Result.Text;
}
// PM> Install-Package IronOCR.Languages.Hindi
using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

// Load the input image for OCR processing
using (var Input = new OcrInput(@"images\Hindi.png"))
{
    // Read the input image to extract text
    var Result = Ocr.Read(Input);

    // Store the extracted text
    var AllText = Result.Text;
}
' PM> Install-Package IronOCR.Languages.Hindi
Imports IronOcr

Private Ocr = New IronTesseract()
' Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi

' Load the input image for OCR processing
Using Input = New OcrInput("images\Hindi.png")
	' Read the input image to extract text
	Dim Result = Ocr.Read(Input)

	' Store the extracted text
	Dim AllText = Result.Text
End Using
$vbLabelText   $csharpLabel

क्यों चुनें आयरनओआरसीआर?

आयरन ओसीआर एक आसान-स्थापित, पूर्ण और अच्छी तरह से प्रलेखित .NET सॉफ्टवेयर लाइब्रेरी है।

किसी भी बाहरी वेब सेवाओं, चल रही फीस या इंटरनेट पर गोपनीय दस्तावेज भेजने के बिना 99.8% + OCR सटीकता प्राप्त करने के लिए IronOCR चुनें।

क्यों C#डेवलपर्स वेनिला टेसरैक्ट के ऊपर आयरनओसीआर चुनते हैं:

  • एकल DLL या NuGet के रूप में स्थापित करें
  • बॉक्स से बाहर Tesseract 5, 4 और 3 इंजन शामिल हैं।
  • सटीकता 99.8% नियमित रूप से टेसरैक्ट से बेहतर प्रदर्शन करती है।
  • धधकती गति और मल्टीथ्रेडिंग
  • MVC, WebApp, डेस्कटॉप, कंसोल और सर्वर अनुप्रयोग संगत
  • कोई Exes या C ++ कोड के साथ काम करने के लिए नहीं
  • पूर्ण पीडीएफ ओसीआर समर्थन
  • OCR करने के लिए लगभग कोई भी इमेज फाइल या PDF
  • फुल .NET कोर, स्टैंडर्ड और फ्रेमवर्क सपोर्ट
  • Windows, Mac, Linux, Azure, Docker, Lambda, AWS पर नियोजित करें
  • बारकोड और क्यूआर कोड पढ़ें
  • निर्यात OCR XHTML के रूप में
  • निर्यात OCR खोजा पीडीएफ दस्तावेजों के लिए
  • बहुपरत समर्थन
  • 126 अंतर्राष्ट्रीय भाषाएं सभी NuGet या OcrData फ़ाइलों के माध्यम से प्रबंधित की गई हैं
  • छवियाँ, निर्देशांक, सांख्यिकी और फ़ॉन्ट्स निकालें। सिर्फ पाठ ही नहीं।
  • वाणिज्यिक और मालिकाना अनुप्रयोगों के अंदर Tesseract OCR को फिर से वितरित करने के लिए इस्तेमाल किया जा सकता है।

असली दुनिया की छवियों और अपूर्ण दस्तावेजों जैसे तस्वीरों, या कम रिज़ॉल्यूशन के स्कैन के साथ काम करने पर आयरन ओसीआर चमकता है, जिसमें डिजिटल शोर या खामियां हो सकती हैं।

.NET प्लेटफ़ॉर्म के लिए अन्य मुक्त OCR लाइब्रेरीज़ जैसे अन्य .net tesseract API और वेब सेवाएँ इन वास्तविक विश्व उपयोग मामलों पर इतना अच्छा प्रदर्शन नहीं करती हैं।

Tesseract 5 के साथ OCR - C#में कोडिंग शुरू करें

नीचे दिए गए कोड का नमूना दिखाता है कि C#या VB .NET का उपयोग करके छवि से पाठ पढ़ना कितना आसान है।

एक लाइन

// Read text from an image in one line
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
// Read text from an image in one line
string Text = new IronTesseract().Read(@"img\Screenshot.png").Text;
' Read text from an image in one line
Dim Text As String = (New IronTesseract()).Read("img\Screenshot.png").Text
$vbLabelText   $csharpLabel

विन्यास योग्य नमस्ते विश्व

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

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

// Initialize an OCR input object
using (var Input = new OcrInput()){
    // Add an image to the OCR input
    Input.AddImage("images/sample.jpeg");

    // You can add any number of images
    var Result = Ocr.Read(Input);

    // Output the text read from image
    Console.WriteLine(Result.Text);
}
// PM> Install-Package IronOCR.Languages.Hindi
using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

// Initialize an OCR input object
using (var Input = new OcrInput()){
    // Add an image to the OCR input
    Input.AddImage("images/sample.jpeg");

    // You can add any number of images
    var Result = Ocr.Read(Input);

    // Output the text read from image
    Console.WriteLine(Result.Text);
}
' PM> Install-Package IronOCR.Languages.Hindi
Imports IronOcr

Private Ocr = New IronTesseract()
' Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi

' Initialize an OCR input object
Using Input = New OcrInput()
	' Add an image to the OCR input
	Input.AddImage("images/sample.jpeg")

	' You can add any number of images
	Dim Result = Ocr.Read(Input)

	' Output the text read from image
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

सी # पीडीएफ ओसीआर

इसी तरह के दृष्टिकोण का उपयोग किसी भी पीडीएफ दस्तावेज़ से पाठ निकालने के लिए किया जा सकता है।

using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var input = new OcrInput())
{
    // Add PDF file to the input. Specify password if required
    input.AddPdf("example.pdf", "password");

    // हम OCR के लिए विशिष्ट PDF पेज संख्याएँ भी चुन सकते हैं

    var Result = Ocr.Read(input);

    // Output the text read from PDF
    Console.WriteLine(Result.Text);
    Console.WriteLine($"{Result.Pages.Count()} Pages"); // Print number of pages
}
using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var input = new OcrInput())
{
    // Add PDF file to the input. Specify password if required
    input.AddPdf("example.pdf", "password");

    // हम OCR के लिए विशिष्ट PDF पेज संख्याएँ भी चुन सकते हैं

    var Result = Ocr.Read(input);

    // Output the text read from PDF
    Console.WriteLine(Result.Text);
    Console.WriteLine($"{Result.Pages.Count()} Pages"); // Print number of pages
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi

Using input = New OcrInput()
	' Add PDF file to the input. Specify password if required
	input.AddPdf("example.pdf", "password")

	' हम OCR के लिए विशिष्ट PDF पेज संख्याएँ भी चुन सकते हैं

	Dim Result = Ocr.Read(input)

	' Output the text read from PDF
	Console.WriteLine(Result.Text)
	Console.WriteLine($"{Result.Pages.Count()} Pages") ' Print number of pages
End Using
$vbLabelText   $csharpLabel

मल्टीपेज टीआईएफएस के लिए ओसीआर

कई पृष्ठ दस्तावेजों सहित ओसीआर रीडिंग झगड़ा फ़ाइल प्रारूप। TIFF को सीधे पीडीएफ फाइल में खोजे जा सकने वाले टेक्स्ट के साथ बदला जा सकता है।

using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var Input = new OcrInput()){
    // Add a multi-frame TIFF to the input
    Input.AddMultiFrameTiff("multi-frame.tiff");

    var Result = Ocr.Read(Input);

    // Output the text read from TIFF
    Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var Input = new OcrInput()){
    // Add a multi-frame TIFF to the input
    Input.AddMultiFrameTiff("multi-frame.tiff");

    var Result = Ocr.Read(Input);

    // Output the text read from TIFF
    Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi

Using Input = New OcrInput()
	' Add a multi-frame TIFF to the input
	Input.AddMultiFrameTiff("multi-frame.tiff")

	Dim Result = Ocr.Read(Input)

	' Output the text read from TIFF
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

बारकोड और क्यूआर

आयरन ओसीआर की एक अनूठी विशेषता यह है कि यह दस्तावेजों से बारकोड और क्यूआर कोड पढ़ सकता है जबकि यह पाठ के लिए स्कैन कर रहा है। OcrResult.OcrBarcode Class के उदाहरण डेवलपर को प्रत्येक स्कैन किए गए बारकोड के बारे में विस्तृत जानकारी देते हैं।

using IronOcr;

var Ocr = new IronTesseract();
// Enable barcode reading configuration
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
    // Add an image containing a barcode to the input
    input.AddImage("img/Barcode.png");

    var Result = Ocr.Read(input);

    // Loop through all barcodes read from the image
    foreach (var Barcode in Result.Barcodes)
    {
        // Output the value of each barcode
        Console.WriteLine(Barcode.Value);

        // प्रकार और स्थान के गुण भी उजागर हुए
    }
}
using IronOcr;

var Ocr = new IronTesseract();
// Enable barcode reading configuration
Ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
    // Add an image containing a barcode to the input
    input.AddImage("img/Barcode.png");

    var Result = Ocr.Read(input);

    // Loop through all barcodes read from the image
    foreach (var Barcode in Result.Barcodes)
    {
        // Output the value of each barcode
        Console.WriteLine(Barcode.Value);

        // प्रकार और स्थान के गुण भी उजागर हुए
    }
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Enable barcode reading configuration
Ocr.Configuration.ReadBarCodes = True

Using input = New OcrInput()
	' Add an image containing a barcode to the input
	input.AddImage("img/Barcode.png")

	Dim Result = Ocr.Read(input)

	' Loop through all barcodes read from the image
	For Each Barcode In Result.Barcodes
		' Output the value of each barcode
		Console.WriteLine(Barcode.Value)

		' प्रकार और स्थान के गुण भी उजागर हुए
	Next Barcode
End Using
$vbLabelText   $csharpLabel

छवियों के विशिष्ट क्षेत्रों पर ओसीआर

आयरन ओसीआर के सभी स्कैनिंग और रीडिंग मेथड्स यह निर्दिष्ट करते हैं कि हम जिस पेज या पेज से टेक्स्ट पढ़ना चाहते हैं, उसका कौन सा हिस्सा ठीक है। यह बहुत उपयोगी है जब हम मानकीकृत रूपों को देख रहे हैं और एक भयानक समय बचा सकते हैं और दक्षता में सुधार कर सकते हैं।

फसल क्षेत्रों का उपयोग करने के लिए, हमें System.Drawing लिए एक सिस्टम संदर्भ जोड़ना होगा ताकि हम System.Drawing.Rectangle ऑब्जेक्ट का उपयोग कर सकें।

using IronOcr;
using System.Drawing;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var Input = new OcrInput())
{
    // Define the rectangle area for OCR within the image
    var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
    // आयाम px में हैं

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

    var Result = Ocr.Read(Input);
    // Output the text read within the specified area
    Console.WriteLine(Result.Text);
}
using IronOcr;
using System.Drawing;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var Input = new OcrInput())
{
    // Define the rectangle area for OCR within the image
    var ContentArea = new Rectangle() { X = 215, Y = 1250, Height = 280, Width = 1335 };
    // आयाम px में हैं

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

    var Result = Ocr.Read(Input);
    // Output the text read within the specified area
    Console.WriteLine(Result.Text);
}
Imports IronOcr
Imports System.Drawing

Private Ocr = New IronTesseract()
' Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi

Using Input = New OcrInput()
	' Define the rectangle area for OCR within the image
	Dim ContentArea = New Rectangle() With {
		.X = 215,
		.Y = 1250,
		.Height = 280,
		.Width = 1335
	}
	' आयाम px में हैं

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

	Dim Result = Ocr.Read(Input)
	' Output the text read within the specified area
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

निम्न गुणवत्ता वाले स्कैन के लिए ओसीआर

लौह ओसीआर OcrInput वर्ग स्कैन को ठीक कर सकता है जो सामान्य OcrInput नहीं पढ़ सकता है।

using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
    // Correct digital noise and poor scanning artifacts
    Input.DeNoise();

    // Correct rotations and perspective distortions
    Input.Deskew();

    var Result = Ocr.Read(Input);
    // Output the text read from the low-quality scan
    Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var Input = new OcrInput(@"img\Potter.LowQuality.tiff"))
{
    // Correct digital noise and poor scanning artifacts
    Input.DeNoise();

    // Correct rotations and perspective distortions
    Input.Deskew();

    var Result = Ocr.Read(Input);
    // Output the text read from the low-quality scan
    Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi

Using Input = New OcrInput("img\Potter.LowQuality.tiff")
	' Correct digital noise and poor scanning artifacts
	Input.DeNoise()

	' Correct rotations and perspective distortions
	Input.Deskew()

	Dim Result = Ocr.Read(Input)
	' Output the text read from the low-quality scan
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

निर्यात OCR एक खोजा पीडीएफ के रूप में परिणाम है

प्रतिलिपि करने योग्य पाठ स्ट्रिंग के साथ पीडीएफ के लिए छवि। खोज इंजन और डेटाबेस द्वारा अनुक्रमित किया जा सकता है।

using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var Input = new OcrInput()){
    // Set the title for the PDF
    Input.Title = "Quarterly Report";
    Input.AddImage("image1.jpeg");
    Input.AddImage("image2.png");
    Input.AddImage("image3.gif");

    var Result = Ocr.Read(input);
    // Save the result as a searchable PDF
    Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var Input = new OcrInput()){
    // Set the title for the PDF
    Input.Title = "Quarterly Report";
    Input.AddImage("image1.jpeg");
    Input.AddImage("image2.png");
    Input.AddImage("image3.gif");

    var Result = Ocr.Read(input);
    // Save the result as a searchable PDF
    Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi

Using Input = New OcrInput()
	' Set the title for the PDF
	Input.Title = "Quarterly Report"
	Input.AddImage("image1.jpeg")
	Input.AddImage("image2.png")
	Input.AddImage("image3.gif")

	Dim Result = Ocr.Read(input)
	' Save the result as a searchable PDF
	Result.SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

खोजा पीडीएफ रूपांतरण के लिए झगड़ा

सीधे एक खोज योग्य PDF पर TIFF दस्तावेज़ (या छवि फ़ाइलों के किसी भी समूह) को ले जाएं, जिसे इंट्रानेट, वेबसाइट और Google खोज इंजन द्वारा अनुक्रमित किया जा सकता है।

using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var Input = new OcrInput()){
    // Add a multi-frame TIFF
    Input.AddMultiFrameTiff("example.tiff");

    // Save OCR result as a searchable PDF
    Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var Input = new OcrInput()){
    // Add a multi-frame TIFF
    Input.AddMultiFrameTiff("example.tiff");

    // Save OCR result as a searchable PDF
    Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi

Using Input = New OcrInput()
	' Add a multi-frame TIFF
	Input.AddMultiFrameTiff("example.tiff")

	' Save OCR result as a searchable PDF
	Ocr.Read(input).SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

HTML के रूप में निर्यात OCR परिणाम

ओसीआर छवि एक्सएचटीएमएल रूपांतरण में।

using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var Input = new OcrInput()){
    // Set HTML title
    Input.Title = "Html Title";
    Input.AddImage("image1.jpeg");

    var Result = Ocr.Read(input);
    // Save OCR result as HTML format
    Result.SaveAsHocrFile("results.html");
}
using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var Input = new OcrInput()){
    // Set HTML title
    Input.Title = "Html Title";
    Input.AddImage("image1.jpeg");

    var Result = Ocr.Read(input);
    // Save OCR result as HTML format
    Result.SaveAsHocrFile("results.html");
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi

Using Input = New OcrInput()
	' Set HTML title
	Input.Title = "Html Title"
	Input.AddImage("image1.jpeg")

	Dim Result = Ocr.Read(input)
	' Save OCR result as HTML format
	Result.SaveAsHocrFile("results.html")
End Using
$vbLabelText   $csharpLabel

ओसीआर इमेज एनहांसमेंट फिल्टर

IronOCR OCR प्रदर्शन को बेहतर बनाने के लिए OcrInput ऑब्जेक्ट के लिए अद्वितीय फ़िल्टर प्रदान करता है।

इमेज एनहांसमेंट कोड उदाहरण

OCR इनपुट छवियों को बेहतर, तेज़ OCR परिणामों का उत्पादन करने के लिए उच्च गुणवत्ता बनाता है।

using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
    // Correct digital noise and poor scanning artifacts
    Input.DeNoise();

    // Correct rotations and perspective distortions
    Input.Deskew();

    var Result = Ocr.Read(Input);
    // Output the text read from the low-quality image
    Console.WriteLine(Result.Text);
}
using IronOcr;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;

using (var Input = new OcrInput(@"LowQuality.jpeg"))
{
    // Correct digital noise and poor scanning artifacts
    Input.DeNoise();

    // Correct rotations and perspective distortions
    Input.Deskew();

    var Result = Ocr.Read(Input);
    // Output the text read from the low-quality image
    Console.WriteLine(Result.Text);
}
Imports IronOcr

Private Ocr = New IronTesseract()
' Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi

Using Input = New OcrInput("LowQuality.jpeg")
	' Correct digital noise and poor scanning artifacts
	Input.DeNoise()

	' Correct rotations and perspective distortions
	Input.Deskew()

	Dim Result = Ocr.Read(Input)
	' Output the text read from the low-quality image
	Console.WriteLine(Result.Text)
End Using
$vbLabelText   $csharpLabel

ओसीआर छवि फ़िल्टर की सूची

OCR प्रदर्शन बढ़ाने के लिए इनपुट फ़िल्टर जो कि IronOCR में बनाए गए हैं, शामिल हैं:

  • OcrInput.Rotate (डबल डिग्री) - कई डिग्री दक्षिणावर्त छवियों को घुमाता है। विरोधी दक्षिणावर्त के लिए, नकारात्मक संख्याओं का उपयोग करें।
  • OcrInput.Binarize () - यह छवि फ़िल्टर हर पिक्सेल को बिना किसी मध्य मैदान के काला या सफेद कर देता है। पृष्ठभूमि के पाठ के बहुत कम विपरीत OCR प्रदर्शन मामलों में सुधार कर सकते हैं।
  • OcrInput.ToGrayScale () - यह छवि फ़िल्टर हर पिक्सेल को ग्रेस्केल की छाया में बदल देता है। OCR सटीकता में सुधार करने के लिए पूरी तरह से लेकिन गति में सुधार हो सकता है
  • OcrInput.Contrast () - स्वचालित रूप से इसके विपरीत बढ़ता है। यह फिल्टर अक्सर कम विपरीत स्कैन में ओसीआर गति और सटीकता में सुधार करता है।
  • OcrInput.DeNoise () - डिजिटल शोर को हटाता है। इस फिल्टर का उपयोग केवल वहीं किया जाना चाहिए, जहां शोर होने की उम्मीद हो।
  • OcrInput.Invert () - हर रंग में इन्वर्ट करता है। जैसे सफेद काला हो जाता है: काला सफेद हो जाता है।
  • OcrInput.Dilate () - उन्नत आकृति विज्ञान। Dilation एक छवि में वस्तुओं की सीमाओं में पिक्सेल जोड़ता है। इरोड के विपरीत
  • OcrInput.Erode () - उन्नत आकृति विज्ञान। कटाव वस्तु सीमाओं पर पिक्सल को हटा देता है
  • OcrInput.Deskew () - एक छवि को घुमाता है इसलिए यह सही तरीके से ऊपर और ऑर्थोगोनल है। यह ओसीआर के लिए बहुत उपयोगी है क्योंकि तिरछी स्कैन के लिए टेसरैक्ट सहिष्णुता 5 डिग्री से कम हो सकती है।
  • OcrInput.DeepCleanBackgroundNoise () - भारी पृष्ठभूमि शोर को हटाने। केवल इस फ़िल्टर का उपयोग करें यदि चरम दस्तावेज़ पृष्ठभूमि शोर ज्ञात है, क्योंकि यह फ़िल्टर स्वच्छ दस्तावेज़ों की ओसीआर सटीकता को कम करने का जोखिम भी लेगा, और बहुत सीपीयू महंगा है।
  • OcrInput.EnhanceResolution - निम्न गुणवत्ता वाले चित्रों के संकल्प को बढ़ाता है। यह फ़िल्टर अक्सर आवश्यक नहीं होता है क्योंकि OcrInput.MinimumDPI और OcrInput.TargetDPI स्वचालित रूप से कम रिज़ॉल्यूशन इनपुट को पकड़ेंगे और हल करेंगे।

CleanBackgroundNoise। यह एक सेटिंग है जो कुछ समय लेने वाली है; हालाँकि, यह लाइब्रेरी को डिजिटल छवि के भीतर डिजिटल शोर, पेपर crumples, और अन्य खामियों को स्वचालित रूप से साफ़ करने की अनुमति देता है जो अन्यथा इसे अन्य OCR पुस्तकालयों द्वारा पढ़े जाने में असमर्थ बना देता है।

एन्हांसकंट्रास्ट एक ऐसी सेटिंग है जो आयरन ओसीआर को छवि की पृष्ठभूमि के खिलाफ स्वचालित रूप से पाठ के विपरीत को बढ़ाने का कारण बनता है, जिससे ओसीआर की सटीकता बढ़ जाती है और आमतौर पर प्रदर्शन और ओसीआर की गति बढ़ जाती है।

EnhanceResolution एक सेटिंग है जो स्वचालित रूप से कम-रिज़ॉल्यूशन छवियों (जो 275 डीपीआई के अंतर्गत है) का पता लगाएगा और स्वचालित रूप से छवि को अपस्केल करेगा और फिर सभी पाठ को तेज कर देगा ताकि यह एक ओसीआर लाइब्रेरी द्वारा पूरी तरह से पढ़ा जा सके। यद्यपि यह ऑपरेशन अपने आप में समय लेने वाला है, यह आमतौर पर एक छवि पर ओसीआर ऑपरेशन के लिए समग्र समय को कम करता है।

भाषा आयरन ओसीआर 22 अंतरराष्ट्रीय भाषा पैक का समर्थन करता है, और भाषा सेटिंग का उपयोग एक ओसीआर ऑपरेशन के लिए लागू की जाने वाली एक या अधिक भाषाओं का चयन करने के लिए किया जा सकता है।

रणनीति आयरन ओसीआर दो रणनीतियों का समर्थन करता है। हम या तो किसी दस्तावेज़ के तेज़ और कम सटीक स्कैन के लिए जा सकते हैं, या एक उन्नत रणनीति का उपयोग कर सकते हैं जो शब्दों में एक दूसरे से वाक्यों के सांख्यिकीय संबंध को देखकर OCR पाठ की सटीकता को स्वचालित रूप से सुधारने के लिए कुछ कृत्रिम बुद्धिमत्ता मॉडल का उपयोग करता है। ।

कलरस्पेस एक सेटिंग है जिसके तहत हम ग्रेस्केल या रंग में ओसीआर चुन सकते हैं। आम तौर पर, ग्रेस्केल सबसे अच्छा विकल्प है। हालांकि, कभी-कभी जब समान रंग के ग्रंथ या पृष्ठभूमि होते हैं लेकिन बहुत अलग रंग होते हैं, तो एक पूर्ण-रंग का रंग बेहतर परिणाम प्रदान करेगा।

DetectWhiteTextOnDarkBackgrounds। आम तौर पर, सभी ओसीआर पुस्तकालयों को सफेद पृष्ठभूमि पर काला पाठ देखने की उम्मीद है। यह सेटिंग आयरन ओसीआर को स्वचालित रूप से नकारात्मक पाठ, या सफेद पाठ के साथ अंधेरे पृष्ठों का पता लगाने और उन्हें पढ़ने की अनुमति देती है।

InputImageType। यह सेटिंग डेवलपर को ओसीआर लाइब्रेरी का मार्गदर्शन करने की अनुमति देती है, चाहे वह एक पूर्ण दस्तावेज़ या एक स्निपेट जैसे स्क्रीनशॉट के रूप में देख रही हो।

रोटेटएंडस्ट्रीमेन एक उन्नत सेटिंग है जो आयरन ओसीआर को दस्तावेजों को पढ़ने की अनूठी क्षमता प्रदान करता है जो न केवल घुमाए जाते हैं, बल्कि शायद परिप्रेक्ष्य भी होते हैं, जैसे कि पाठ दस्तावेजों की तस्वीरें।

ReadBarcodes एक उपयोगी सुविधा है जो आयरन OCR को पृष्ठों पर स्वचालित रूप से बारकोड और क्यूआर कोड पढ़ने की अनुमति देता है क्योंकि यह पाठ को भी पढ़ता है, बिना एक अतिरिक्त अतिरिक्त बोझ डाले।

रंग की गहराई। यह सेटिंग निर्धारित करता है कि रंग की गहराई निर्धारित करने के लिए ओसीआर पुस्तकालय प्रति पिक्सेल कितने बिट्स का उपयोग करेगा। एक उच्च रंग गहराई OCR गुणवत्ता को बढ़ा सकती है, लेकिन OCR ऑपरेशन को पूरा करने के लिए आवश्यक समय को भी बढ़ाएगी।

126 भाषा पैक

आयरन OCR भाषा पैक के माध्यम से 126 अंतर्राष्ट्रीय भाषाओं का समर्थन करता है, जिन्हें DLL के रूप में वितरित किया जाता है, जिसे इस वेबसाइट से या NuGet Package Manager से भी डाउनलोड किया जा सकता है।

भाषाओं में जर्मन, फ्रेंच, अंग्रेजी, चीनी, जापानी और कई शामिल हैं। पासपोर्ट एमआरजेड, एमआईसीआर चेक, फाइनेंशियल डेटा, लाइसेंस प्लेट और कई और अधिक के लिए विशेषज्ञ भाषा पैक मौजूद हैं। आप किसी भी tesseract ".traineddata" फ़ाइल का उपयोग कर सकते हैं - जिसमें आप स्वयं बनाते हैं।

भाषा उदाहरण

अन्य ओसीआर भाषाओं का उपयोग करना।

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

var Ocr = new IronTesseract();
// Set the OCR language to Arabic
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
    input.AddImage("img/arabic.gif");
    // यदि आवश्यक हो तो छवि फ़िल्टर जोड़ें
    // इस मामले में, यहां तक कि सोचा इनपुट बहुत कम गुणवत्ता वाला है
    // IronTesseract पढ़ सकता है कि पारंपरिक Tesseract क्या नहीं कर सकता।

    var Result = Ocr.Read(input);

    // Save the Arabic text to a file since console may not print Arabic correctly
    Result.SaveAsTextFile("arabic.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.Arabic

var Ocr = new IronTesseract();
// Set the OCR language to Arabic
Ocr.Language = OcrLanguage.Arabic;

using (var input = new OcrInput())
{
    input.AddImage("img/arabic.gif");
    // यदि आवश्यक हो तो छवि फ़िल्टर जोड़ें
    // इस मामले में, यहां तक कि सोचा इनपुट बहुत कम गुणवत्ता वाला है
    // IronTesseract पढ़ सकता है कि पारंपरिक Tesseract क्या नहीं कर सकता।

    var Result = Ocr.Read(input);

    // Save the Arabic text to a file since console may not print Arabic correctly
    Result.SaveAsTextFile("arabic.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.Arabic

Dim Ocr = New IronTesseract()
' Set the OCR language to Arabic
Ocr.Language = OcrLanguage.Arabic

Using input = New OcrInput()
	input.AddImage("img/arabic.gif")
	' यदि आवश्यक हो तो छवि फ़िल्टर जोड़ें
	' इस मामले में, यहां तक कि सोचा इनपुट बहुत कम गुणवत्ता वाला है
	' IronTesseract पढ़ सकता है कि पारंपरिक Tesseract क्या नहीं कर सकता।

	Dim Result = Ocr.Read(input)

	' Save the Arabic text to a file since console may not print Arabic correctly
	Result.SaveAsTextFile("arabic.txt")
End Using
$vbLabelText   $csharpLabel

एकाधिक भाषा उदाहरण

एक ही समय में कई भाषाओं का उपयोग करके ओसीआर करना भी संभव है। यह वास्तव में यूनिकोड दस्तावेजों में अंग्रेजी भाषा मेटाडेटा और यूआरएल प्राप्त करने में मदद कर सकता है।

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

var Ocr = new IronTesseract();
// Set primary language to Simplified Chinese
Ocr.Language = OcrLanguage.ChineseSimplified;
// Add Hindi as a secondary language
Ocr.AddSecondaryLanguage(OcrLanguage.Hindi);

// हम कितनी भी भाषाएं जोड़ सकते हैं

using (var input = new OcrInput())
{
    input.Add("multi-language.pdf");
    var Result = Ocr.Read(input);
    // Save the multilingual text to a file
    Result.SaveAsTextFile("results.txt");
}
// using IronOcr;
// PM> Install IronOcr.Languages.ChineseSimplified

var Ocr = new IronTesseract();
// Set primary language to Simplified Chinese
Ocr.Language = OcrLanguage.ChineseSimplified;
// Add Hindi as a secondary language
Ocr.AddSecondaryLanguage(OcrLanguage.Hindi);

// हम कितनी भी भाषाएं जोड़ सकते हैं

using (var input = new OcrInput())
{
    input.Add("multi-language.pdf");
    var Result = Ocr.Read(input);
    // Save the multilingual text to a file
    Result.SaveAsTextFile("results.txt");
}
' using IronOcr;
' PM> Install IronOcr.Languages.ChineseSimplified

Dim Ocr = New IronTesseract()
' Set primary language to Simplified Chinese
Ocr.Language = OcrLanguage.ChineseSimplified
' Add Hindi as a secondary language
Ocr.AddSecondaryLanguage(OcrLanguage.Hindi)

' हम कितनी भी भाषाएं जोड़ सकते हैं

Using input = New OcrInput()
	input.Add("multi-language.pdf")
	Dim Result = Ocr.Read(input)
	' Save the multilingual text to a file
	Result.SaveAsTextFile("results.txt")
End Using
$vbLabelText   $csharpLabel

विस्तृत OCR परिणाम ऑब्जेक्ट

आयरन OCR प्रत्येक OCR ऑपरेशन के लिए OCR परिणाम वस्तु देता है। आमतौर पर, डेवलपर केवल छवि से स्कैन किए गए टेक्स्ट को प्राप्त करने के लिए इस ऑब्जेक्ट की टेक्स्ट संपत्ति का उपयोग करते हैं। हालाँकि, OCR परिणाम DOM इससे कहीं अधिक उन्नत है।

using IronOcr;
using System.Drawing;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;
// Configuration settings
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; // Access words of the first page
    var Barcodes = Result.Barcodes; // Access barcodes from the OCR result

    // Explore the OCR result API for details such as:
    // - Pages, Blocks, Paragraphs, Lines, Words, Characters
    // - Image export, Fonts, Coordinates, Statistical data
}
using IronOcr;
using System.Drawing;

var Ocr = new IronTesseract();
// Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi;
// Configuration settings
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; // Access words of the first page
    var Barcodes = Result.Barcodes; // Access barcodes from the OCR result

    // Explore the OCR result API for details such as:
    // - Pages, Blocks, Paragraphs, Lines, Words, Characters
    // - Image export, Fonts, Coordinates, Statistical data
}
Imports IronOcr
Imports System.Drawing

Private Ocr = New IronTesseract()
' Set the OCR language to Hindi
Ocr.Language = OcrLanguage.Hindi
' Configuration settings
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 ' Access words of the first page
	Dim Barcodes = Result.Barcodes ' Access barcodes from the OCR result

	' Explore the OCR result API for details such as:
	' - Pages, Blocks, Paragraphs, Lines, Words, Characters
	' - Image export, Fonts, Coordinates, Statistical data
End Using
$vbLabelText   $csharpLabel

प्रदर्शन

आयरनओसीआर बॉक्स से बाहर काम करता है जिसमें ट्यून के प्रदर्शन की आवश्यकता नहीं होती है या इनपुट छवियों को बहुत अधिक संशोधित किया जाता है।

गति धधक रही है: IronOcr.2020 + 10 गुना तेज है और पिछले बिल्ड की तुलना में 250% कम त्रुटी करता है।

और अधिक जानें

OCR के बारे में और अधिक जानने के लिए C #, VB, F #, या किसी भी अन्य .NET भाषा में, कृपया हमारे समुदाय ट्यूटोरियल पढ़ें, जो इस बात का वास्तविक उदाहरण देते हैं कि आयरन OCR का उपयोग कैसे किया जा सकता है और इस बात की बारीकियों को दिखा सकता है कि परीक्षा से बाहर कैसे जाएं यह पुस्तकालय।

.NET डेवलपर्स के लिए एक पूर्ण ऑब्जेक्ट संदर्भ भी उपलब्ध है।