1. منتجات
  2.   OCR
  3.   .NET
  4.   Tesseract
 
  

C# .NET Open Source OCR API لتحويل الصور إلى نص

تتيح واجهة برمجة التطبيقات الرائدة مفتوحة المصدر للتعرف البصري على الأحرف (OCR) .NET للمطورين تحويل الصور (الصور الممسوحة ضوئيًا وملفات PDF) التي تحتوي على نص إلى نص يمكن قراءته آليًا عبر لغة C#.

Tesseract هو محرك قوي جدًا للتعرف البصري على الأحرف (OCR) مفتوح المصدر يمكّن مطوري البرامج من تحويل أنواع مختلفة من الصور التي تحتوي على نص إلى نص يمكن قراءته آليًا داخل تطبيقات Python. أحدثت التكنولوجيا مفتوحة المصدر ثورة في الطريقة التي يبني بها مطورو البرامج تطبيقاتهم من خلال تسهيل وصولهم إلى الأدوات والمكتبات القوية ودمجها داخل تطبيقاتهم. وهو عبارة عن برنامج تضمين .NET لـ tesseract-ocr ويمكن استخدامه في مجموعة واسعة من التطبيقات، بدءًا من مسح المستندات ضوئيًا واستخراج البيانات وحتى التعرف الآلي على الصور وترجمتها.

تم تطوير Tesseract في الأصل في الثمانينيات بواسطة شركة Hewlett-Packard وتم إصداره لاحقًا كمشروع مفتوح المصدر في عام 2005. ومنذ ذلك الحين، أصبح أحد محركات التعرف الضوئي على الحروف الأكثر استخدامًا في العالم، مع دعم Unicode (UTF) -8)، وأكثر من 100 لغة، والقدرة على معالجة مجموعة واسعة من تنسيقات الصور. هناك العديد من الميزات التي تشكل جزءًا من واجهة برمجة التطبيقات (API)، مثل مسح المستندات ضوئيًا، ورقمنة المستندات، وجعل المستندات قابلة للبحث، وإنشاء مستندات قابلة للقراءة آليًا، وتحسين أداء التعرف الضوئي على الحروف، وغير ذلك الكثير.

من السهل جدًا التعامل مع Tesseract، وهو مصمم للتعرف على النص داخل الصور الرقمية في نطاق واسع من تنسيقات الصور، مثل JPEG، وBMP، وPSD، وPNG، وTIFF، وغيرها الكثير. المكتبة قابلة للتخصيص بدرجة كبيرة، مع مجموعة واسعة من الخيارات التي يمكن استخدامها لتحسين أداء التعرف الضوئي على الحروف لأنواع مختلفة من الصور والنصوص. سواء كنت تعمل على مسح المستندات ضوئيًا ورقمنتها، أو استخراج البيانات، أو التعرف على الصور وترجمتها، فإن Tesseract تقدم حلاً قويًا وموثوقًا يمكنه مساعدتك في تحقيق أهدافك بسرعة وسهولة.

Previous Next

البدء مع Tesseract

الطريقة الموصى بها لتثبيت Tesseract هي استخدام NuGet. الرجاء استخدام الأمر التالي للتثبيت السلس.

قم بتثبيت Tesseract عبر NuGet

 Install-Package Tesseract 

قم بتثبيت Tesseract عبر GitHub

 git clone https://github.com/charlesw/tesseract.git 

استخرج النص الأساسي من صورة عبر C#

تمكن مكتبة Tesseract مفتوحة المصدر في C# مطوري البرامج من استخراج نص من صورة داخل تطبيقات .NET الخاصة بهم. تسهل المكتبة على مطوري البرامج استرداد المحتوى النصي للمستندات أو الصور الممسوحة ضوئيًا بسهولة، واستخدامها لمزيد من المعالجة أو التحليل. لتحقيق المهمة، يحتاج المطورون أولاً إلى استيراد مساحة اسم Tesseract في ملف التعليمات البرمجية الخاص بك وإنشاء مثيل لمحرك Tesseract. يوضح المثال التالي كيفية استخراج النص الأساسي من الصورة وإخراجه إلى وحدة التحكم.

كيفية استخراج النص الأساسي من الصورة عبر C# API؟

using Tesseract;
using System.Drawing;

namespace MyNamespace
{
    class Program
    {
        static void Main(string[] args)
        {
            var engine = new TesseractEngine("./tessdata", "eng", EngineMode.Default);
            var image = new Bitmap(@"C:\path\to\your\image.jpg");
            var page = engine.Process(image);
            var text = page.GetText();
            image.Dispose();
            page.Dispose();
            engine.Dispose();
            Console.WriteLine(text);
        }
    }
}

تحويل الصورة إلى ملف PDF قابل للبحث عبر C# .NET

تحتوي مكتبة Tesseract مفتوحة المصدر في C# على بعض الميزات المفيدة لتحويل الصور إلى مستندات PDF قابلة للبحث باستخدام كود C#. تتضمن المكتبة أيضًا دعمًا لتنسيقات الإخراج المختلفة، مثل النص العادي، وhOCR (HTML)، وPDF، وPDF للنص غير المرئي فقط، وTSV، وALTO وغيرها الكثير. يرجى تذكر أنه للحصول على نتائج أفضل للتعرف الضوئي على الحروف، يحتاج المطور إلى تحسين جودة الصور التي سيقدمها إلى Tesseract. يوضح المثال التالي كيفية إنشاء مستند PDF قابل للبحث يحتوي على النص الذي تم التعرف عليه من الصورة.

كيفية تحويل الصورة إلى ملف PDF قابل للبحث باستخدام C# .NET

using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
    {
        using (var img = Pix.LoadFromFile(testImagePath))
        {
            using (var page = engine.Process(img))
            {
                var text = page.GetText();
                Console.WriteLine("Mean confidence: {0}", page.GetMeanConfidence());

                Console.WriteLine("Text (GetText): \r\n{0}", text);
                Console.WriteLine("Text (iterator):");
                }
        }
    }
FORMAT_PLAINTEXT);
 عربي