Günümüzün dijital-first dünyasında, Optical Character Recognition (OCR) verilərini automatize etmək, iş proseslərini düzəltmək və skanlaşdırılmış dosyalarda qapılan qiymətləri açmaq üçün vacibdir.Logistik platformasında fakturaları işlədiyiniz və ya xəstəxanada yazılmış reçetələri dijitalləşdirdiyiniz halda, OCR bir əsas imkan verir. Bu yazıda Google Tesseract-in C#-də istifadə etmək üçün bütünlüklü bir yol göstəricisi təqdim edilir, onun teknik limitləri araşdırılır və Tesseract-in üzərində qurulan və yaxşılaşdırılan sağlam, geliştiricilər üçün dostu bir .NET OCR kütləvi olan IronOCR-i təqdim edilir. C#-də daha az baş ağrısı ilə daha yaxşı OCR istəyirsənmi? Tesseract OCR nədir? “Tesseract”in kısa öyküsü Tesseract 1980-ci illərdə HP-də özəl araşdırma proseduru olaraq başlayıb və daha sonra açılmış və Google tərəfindən qəbul edilmişdir.Bu, C/C++-da yazılmışdır və artıq 100-dən çox dilə kömək edən yetişkin və geniş şəkildə istifadə edilən bir OCR motorudur. Niyə Tesseract popülerdir Niyə Tesseract popüler bir alət olduqca bir çox səbəblər var, lakin daha əsas səbəblər: Free və open-source: Apache 2.0 altında lisenziyalıdır, kişisel və ya akademik istifadə üçün idealdır. Çox çox dilli: 100-dən çox dilə kömək edir və bu, hər bir global istifadə məsələsini əhatə edir. Precision and stable: LSTM-ə dayanan motor (v4+) əvvəlki versiyalarından daha yaxşı tanıma imkanına malikdir. Dil öyrənilməsi, font tuning və özəlləşdirilmiş model geliştirmək mümkündür, lakin kompleksdir. Cümhuriyyətlər Tesseract OCR, görüntülərdən və skan edilmiş dokumentlardan texta ekstrakt etmək kimi işlərdə bir çox istifadə işləri üçün istifadə edilə bilər. Skanlaşdırılmış dokumentlardan və ya formlardan texniki ekstrakt Digitalizasiya əl yazılmış notları (mixed result) Faturalar, ID-lər və biletlər üçün dokument automatizasiyası alətləri yaratın Skan edilmiş saytları arxeoloji arşivlərə çevirmək Tesseract kapu altında necə işləyir Tesseract'in güclü xüsusiyyətləri projektinizdə istifadə etmək və implementasiya etmək üçün asan olsa da, bu xüsusiyyətlərin altında hər bir xüsusiyyətin düzgün çalışmasını sağlamak üçün işləyən güclü elementlər var: Image Preprocessing: ImageMagick və OpenCV kimi kütləvi vasitəsilə görüntü hazırlayır. Layout Analizi: Tesseract sayfa strukturunu, sektördən metin satırlarını və blokları tanımaya çalışır. OCR Engine: LSTM modellərini istifadə edərək, işarələr və sözlər tanıyır, logiki texta aksiyasını yeniləməyə çalışar. Düşünürəm ki, hər bir sözlə birlikdə bir güvənlik metriki var, bu da filtreyi filtr etmək və ya az güvənlik göstərmək üçün istifadə edilə bilər. Əsas səhifə » Xəbərlər » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə C#-də işləmək C# ortamında Tesseract istifadə etmək tipik olaraq Charles Weld'in .NET wrapper (Tesseract.Net) ilə bağlıdır Bu barədə “Qəbələ”Neftçi.az-a istinadən xəbər verir. sdq Əvvəllər Projektinizə Tesseract NuGet paketi daxil edin. Tesseract GitHub repo-dan faydalı .traineddata dosyalarını yükləyin. Uygulamanızın target platformasında (Windows x64, Linux və s. Təsadüfi örnek: Fotoşəkildən Textu çıxartmaq Görüntüyü daxil edin Code: using Tesseract; using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default)) using (var img = Pix.LoadFromFile("invoice.png")) using (var page = engine.Process(img)) { Console.WriteLine("Text: " + page.GetText()); Console.WriteLine("Confidence: " + page.GetMeanConfidence()); } Çıxış Bakının gözü gözləyir DPI Scaling: Düşük çözünürlüklü görüntülər həddi azaldır. Dil konfigürasiyası: düzgün qurulmadıqda, yalnız ingilis dilini tanıma standartı qəbul edilə bilər. İnterop Hataları: OS və ya dağılım hədəfləri arasında debug etmək çətin olabilir. Tesseract ilə Advanced OCR Tasklər Multilingual OCR Bir çox dilləri bir plus işarəsi ilə birləşdirərək birləşdirə bilərsiniz: var engine = new TesseractEngine(@"./tessdata", "eng+deu", EngineMode.Default); Lakin bu, işləmə vaxtı və memoriya istifadəini artırır və doğruluğu böyük ölçüde dil öyrənilən məlumatların keyfiyyətinə və düzəltməsinə bağlıdır. Image Preprocessing xəritədə Tesseract-in performansı doğrudan görüntülərin keyfiyyətinə bağlıdır. OpenCV (OpenCvSharp vasitəsi ilə): Blurring, resizing, and denoising ImageMagick: Deskew, trim, grayscale ilə dönüştürmək SkiaSharp: Lightweight bitmap prosesləri Misal: OpenCvSharp ilə Basic Binaryization Cv2.CvtColor(src, gray, ColorConversionCodes.BGR2GRAY); Cv2.Threshold(gray, binary, 0, 255, ThresholdTypes.Otsu); PDF Textu Ekstraksiya Tesseract PDF dokumentlarını doğrudan oxumağa çalışmadığından, geliştiricilər tipik olaraq PDF-ləri ilk olaraq TIFF və ya PNG görüntülərinə dönüştürürlər: Ghostscript xəritədə Psixoloq Məşhur.net Bu, kompleksliyi artırır, sadəliyini azaldır və performansı yavaşlaşdırır. QR kodları və ya barkodları Tesseract barkodlar və QR kodlar kimi tabular içərisində və ya spatial verilərlə mübahisə edir. C#-də Tesseract ilə əlaqəli problemlər Əməliyyat: Siz hər bir görüntü OCR hazırlaşdırmaq üçün sorğu-sual edirsiniz. VVD - Hollandiyada futbolçu bu adla tanımır, orada VVD daha çox mərkəz-sağı təmsilən edən siyasi partiyanın adının qısaltması kimi bilinir - artıq sorğu-suala ehtiyacı olmayan ulduzdu. VVD - Hollandiyada futbolçu bu adla tanımır, orada VVD daha çox mərkəz-sağı təmsilən edən siyasi partiyanın adının qısaltması kimi bilinir - artıq sorğu-suala ehtiyacı olmayıb. Low Confidence Debugging: Güvenlik və layout üçün yerləşdirilmiş vizualizasiya yoxdur. Bütün .NET istifadə məsələləri limitli API-nin çatışmazlığı olan ambalajlara dayanır. Niyə Tesseract üçün alternativlər arzulayır Real-dünya biznes proqramları üçün, Tesseract sıklıqla aşağıdaki səbəblərdən çəkinir: Dərslər və Tuning Kütlədən uzaqlıq hökmü PDF dosyaları, barkodlar və kompleks dokumentlar üçün built-in dəstəyi yoxdur Async/paralel işləmək Bu, bir çox .NET komandalarını .NET ortamları və istehsalçılığı üçün yaradılmış IronOCR kimi idarə edilmiş alternativləri arzulayır. IronOCR - .NET üçün Enhanced Tesseract Ironocr nədir? Tesseract.com .NET-in qurucuları üçün yaradılmış bir ticari OCR motorudur. Bu, Tesseract-in əsas xüsusiyyətlərini bir idarə edilmiş, yüksək performanslı wrapper (IronTesseract) altında birləşdirir və real dünyadakı uygulamalar üçün hazırlanmış ilkin funksiyaları əlavə edir. İroniya İrlandiya yalnız Onu hər hansı .NET çözümünün güvenli, genişlənə bilər bir parçasına çevirir, bağımlılıq və preprocessing haqqında endişə etmədən. OCR-i asanlaşdırmaq Key funksiyaları OCR doğrudan PDF dokumentları, TIFF, JPG, PNG və ya ekran görüntüləri. Multithreaded işləmə prosesləri. Intelligent preprocessing (zəlzələmək, kontrast artırmaq, automatik rotasiya, rezolusiya artırmaq) 125-dən çox dil, automatik dil algılayışı ilə. “Neftçi” – “Neftçi” ilə əlaqə saxlama Barkod və QR kömək, strukturlu dokument parsing. .NET Framework, .NET Core, .NET 5/6/7+, Azure, Docker və MAUI üçün kömək edən güclüdür. Installasiya IronOCR-i Visual Studio projektlərinizə NuGet Package Manager Console vasitəsilə asanlaşdırmaq mümkündür: Install-Package IronOcr IronOCR Architecture: necə Tesseract yaxşılaşdırır Təsadüfi kod: Tamamilə .NET native, platformalı C++ binarları yoxdur. Intelligent filtrlər: Yerləşdirilmiş preprocessing filtrləri külək kütləvi olmadan gürcüyi və qürurunu qurtara bilər. Unified Input: Görüntülər, PDF-lər, file streamlər, memory streams və ya bajt arrayları ilə işləmək. İncəsənət vizualizasiyası: Layout, çizgi segmentasiyası və hər bir söz üçün güvənlik göstərin. Həyat: IronOCR-in böyük iş yükləri üçün async motoru ilə paralel işləmə. “Google Tesseract” və “IronOCR Side-by-Side” Feature Google Tesseract IronOCR .NET Support Via Wrapper Native .NET NuGet Package PDF OCR External Conversion Built-in Multithreading Manual Setup Automatic Image Preprocessing Manual Built-in Filters Language Support Requires Setup Bundled + Auto-Detect Accuracy 85–90% Up to 99.8% Deployment Complex Easy Barcode/QR Support External Included Licensing Open-Source Commercial w/ Free Trial .NET Support Şirkət yolları Native .NET NuGet paketləri PDF OCR Dərslər Conversion İnşaat Multithreading Manualdır avtomatik Image Preprocessing Manuallıq Filtrə daxil olmaq Language Support İstehsal etmək lazımdır Sürücülər + Auto-Detect Accuracy 85–90% Up to 99.8% Deployment Komplekslər asanlıq Barcode/QR Support Ətraflı Şirkət Licensing Open-Source Dərslər / Free Trial Visual Comparison: OCR Accuracy “İrlandiya”ya qarşı “Tesseract”in necə qalib gəldiyini görmək when completing OCR tasks on images, we'll be using both tools to read the following input image: Nəticədə Təsadüfi hasilat İroniya təyyarəsi Təlim tabelası Feature Tesseract OCR IronOCR Built-in Preprocessing ❌ Requires external libs ✅ Automatic on load Receipt Text Accuracy ⚠️ Medium (noisy output) ✅ Higher (with fuzzy logic) Layout Preservation ❌ Weak ✅ Keeps alignment better Speed on Large Documents ✅ Fast ⚠️ Slightly slower Language Support ✅ Extensive ✅ 125+ Languages .NET Native Support ⚠️ via wrappers ✅ Native .NET integration Works Without Internet ✅ Yes ✅ Yes Built-in Preprocessing ❌ Requires external libs Avtomatik yükləmə Receipt Text Accuracy ⚠️ Orta (gürültülü çıxış) Daha yüksək (fuzzy logic ilə) Layout Preservation ❌ Weak ✅ Keeps alignment better Speed on Large Documents Qızıl Bir neçə gün daha yavaş Language Support ✅ Extensive ✅ 125+ Languages .NET Native Support ⚠️ via wrappers Native .NET İntegrasiya Works Without Internet ✅ Yes Eyni zamanda Etiket: Tesseract vs IronOCR C#-də OCR ilə işləməkdə, implementasiyanın deneyimi çox fərqlidir. və Aşağıda iki kütləvi kitabxananın bir-birindən birini bir-birinə bənzəyir: skanlanan qəbul görüntüsündən metni çıxartmaq. Tesseract IronOCR 1. Read Text from Image First, we'll look at how these tools handle extracting text from the following image: IronOCR using IronOcr; var ocr = new IronTesseract(); using var input = new OcrImageInput("sample.png"); var result = ocr.Read(input); Console.WriteLine(result.Text); Output IronOCR makes image reading concise and high-level. The OcrInput class handles preprocessing (deskew, contrast, etc.) automatically, while Read() abstracts away engine handling. Tesseract using Tesseract; var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default); using var img = Pix.LoadFromFile("sample.png"); using var page = engine.Process(img); Console.WriteLine(page.GetText()); Output Tesseract’s approach is lower-level. You must manage the OCR engine and image loading yourself. While powerful, it requires more setup and boilerplate. 2. OCR a PDF File IronOCR using IronOcr; var ocr = new IronTesseract(); var input = new OcrPdfInput("sample.pdf"); input.ToGrayScale(); var result = ocr.Read(input); Console.WriteLine("Text from PDF:" + result.Text); Output With IronOCR, PDF support is native. ReadPdf() directly processes PDF pages internally — no conversion needed. Tesseract (bilgi dönüştürmək üçün PDF lazımdır) // Tesseract doesn’t support PDFs directly. // You must convert each page to an image first using a tool like Ghostscript or ImageMagick. // Example assumes conversion to 'page1.png' var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default); using var img = Pix.LoadFromFile("page1.png"); using var page = engine.Process(img); Console.WriteLine(page.GetText()); Output Tesseract PDF dəstəkləyir.Siz hər bir sayfayı əşyaya çəkmək və dönüştürülən görüntülərdən keçmək lazımdır. 3. Generate Searchable PDF İroniya using IronOcr; using System; using System.Data; var ocr = new IronTesseract(); ocr.Configuration.ReadDataTables = true; using var input = new OcrPdfInput("sample.pdf"); var result = ocr.Read(input); result.SaveAsSearchablePdf("output.pdf"); Bu, bir-birində real bir PDF-i aradan qaldırır. örtülən metin orijinal görüntünün altında yerləşdirilir, indeksləşdirmək üçün idealdir. Teqlər Tesseract PDF-lərin yaratılmasına kömək etmir Sizə lazımdır ki: natively PDF-ləri görüntülərə dönüştürmək OCR hər bir görüntü “Hocr2pdf”, “Pdfsandwich” və ya “OCRmyPDF” kimi alətləri komandanın vasitəsilə istifadə edin Tesseract ilə PDF-lər üçün doğrudan C# kodlu çözüm yoxdur. 4. Multilingual OCR İroniya using IronOcr; var ocr = new IronTesseract(); ocr.Language = OcrLanguage.English; ocr.AddSecondaryLanguage(OcrLanguage.Arabic); ocr.AddSecondaryLanguage(OcrLanguage.ChineseSimplified); IronOCR ilə, çox dilli dokumentları oxumağa imkan verən bir çox dilləri rahat birləşdirə bilərsiniz. Tesseract var engine = new TesseractEngine(@"./tessdata", "eng+fra", EngineMode.Default); Hər bir dilin .traineddata dosyasını tessdata folderda manually download və yerləşdirmək lazımdır. 5. Detect and Correct Page Rotation Before Rotation: İroniya using IronOcr; var ocr = new IronTesseract(); using var input = new OcrImageInput(@"C:\Users\kyess\source\repos\IronSoftware Testing\IronSoftware Testing\bin\Debug\net8.0\rotated-page.png"); input.Deskew(); input.SaveAsImages("deskewed-pages", IronSoftware.Drawing.AnyBitmap.ImageFormat.Png); Output Auto-rotation is handled by IronOCR internally. No image preprocessing required to fix skew or rotated scans. Teqlər // Tesseract does not auto-rotate. // You need to use OpenCV or ImageMagick to detect/correct rotation first. using var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default); using var img = Pix.LoadFromFile("manually-fixed.jpg"); using var page = engine.Process(img); Tesseract does not auto-detect skew. Developers must integrate external image processing libraries to correct alignment. Sumqayıt Feature IronOCR Tesseract Read image text ✅ Easy, 2 lines ✅ Moderate setup OCR PDF ✅ Native support ❌ Needs PDF to image workaround Searchable PDF ✅ Built-in method ❌ Requires CLI tools or scripting Multilingual OCR ✅ 125+ prebuilt languages ✅ Manual config and downloads Auto deskew/rotation ✅ Built-in ❌ Must preprocess manually Read image text Easy, 2 dəqiqə Moderatörlər OCR PDF Ana səhifə PDF-ə baxmaq lazımdır Searchable PDF ✅ Built-in method CLI alətləri və ya scriptləri Multilingual OCR ✅ 125+ prebuilt languages Manual config və downloads Auto deskew/rotation Bu bina Əvvəllər manuallaşmaq lazımdır Xatırladaq ki, Tesseract vs IronOCR nə vaxt istifadə ediləcək? Təsadüfi olaraq istifadə edin: Open-source və ya akademik projektlərdə işləyirsiniz OCR internallara qarşı tam kontrol etmək lazımdır Görüntü kanalları və eğitim verilərini idarə etmək rahatdır Ironocr istifadə etmək üçün: - Həyatınızda yüksək həddi aşmaq istəyirsiniz PDF, tabel tanıma və ya bulud dağıtımına ehtiyacınız var İşinizin ticari dəstəyi və uzun müddətli stabilliyi lazımdır “IronOCR” – “Iron Suite”də “İran”ın yalnız bir hissəsi var , designed for document-focused .NET apps. With tight integration between: IronSoftware Suite IronSoftware Suite proqramı IronPDF (PDF yaratma və dönüşüm) Excel Export/Import (Export və Import) IronWord (DOCX dosya xətti) IronQR (barkod və QR scanning) IronZip (kompressiya və dekompressiya) İranda İranda IronWord İranda IronZip “Dünyanın hər yerində işləyirəm” – “Dünyanın hər yerində işləyirəm” Dərslər: Diğer alternativlər Xatırladaq ki, bu problemlərin əksəriyyətini həll etmək lazımdır. Düşünmək lazımdır ki: alternativləri – Comprehensive but expensive Aspose.OCR LEADTOOLS OCR – Böyük görüntü tanıma, kompleks qiymətləndirmə PDFTron OCR – Full SDK-də paketlenir “SyncFusion OCR” – “Big Enterprise Suite”un bir hissəsi eIceBlue OCR – ucuz, lakin limitli PDF işləmək Tamamilə qarşılaşmaq üçün: IronOCR-in bloguna baxın Etiket: Open Source vs. Commercial .NET proqramınız üçün bir OCR motoru seçəndə, lisenziyalanma kritik bir faktdır - özellikle dağıtma, redistribusiya və ya ticari istifadə düşünüldüyündə. Tesseract Licensing “Tesseract OCR” şirkəti Bu, onu Bu lisenziyadan istifadə etmək mümkündür: Apache License 2.0 free and open-source Komercial istifadə Modification and distribution Property sistemlərinə daxil olmaq (doğru atributu ilə) Bununla yanaşı, qorxular da var: You are . responsible for your own support, bug fixes, and updates Lisenziya müqayisəsi tamamilə geliştirmə komandasına aiddir. There’s or guarantees for security, feature development, or compatibility with .NET updates. no official support VVD - Hollandiyada futbolçu bu adla tanımır, orada VVD daha çox mərkəz-sağı təmsilən edən siyasi partiyanın adının qısaltması kimi bilinir - artıq sorğu-suala ehtiyacı olmayan ulduzdu. IronOCR Licensing İrlandiya A .NET-in yaradıcısı üçün hazırlanmışdır.Bu, açıq bir lisenziyalar strukturu ilə gəlir: commercial OCR library Watermarks və limitlər ilə Free Trial Desktop, Server və ya Cloud-based dağılım üçün daimi geliştiricilər lisenziyası Şirkət və OEM seçenekləri böyük və ya ticari dağılım üçün Ödül lisenziyasına görə, sizə: PDF generasiyası, ilkin tabel detektasiya və çox dilli OCR kimi premium xüsusiyyətlərə tam qapı Profesional kömək, bug düzəltmə və davamlı güncellemələr Tesseract Executables və tessdata direktoryaları kimi külli alətlərə təvəkkül etmədən basın. “IronCr” lisenziyası and Təsəvvür etmək lazımdır ki, komersant software sistemləri reduce legal complexity speed up delivery Sonrakı Sonrakı Sonrakı Sonrakı Sonrakı Sonrakı VVD - Hollandiyada futbolçu bu adla tanımır, orada VVD daha çox mərkəz-sağı təmsilən edən siyasi partiyanın adının qısaltması kimi bilinir - artıq sorğu-suala ehtiyacı olmayan ulduzdu. Bu, boilerplate kodunu azaldır, box-out tanınmasını yaxşılaşdırır və .NET proqramlarını qurmaq üçün komandalar üçün idealdır. offers a modern, accurate, and developer-friendly alternative İroniya İroniya İŞİD Sonraki İçerikDünyanın yeni OCR-ə malik proqnozunu necə təsvir edə bilərsiniz Get started with a free trial of IronOCR IronOCR-in pulsuz testinə başlayın Təsadüfi: Təsadüfi resurslar və düşüncələr .NET-projektləriniz üçün OCR alətlərini qiymətləndirirsinizsə, burada daha da araşdırmaq üçün faydalı resurslar və temalar var: IronOCR Dokumentasiyası – IronOCR dokumentasiyası ilə OCR xüsusiyyətlərini sürətli birləşdirmək üçün ayrıntılı göstəricilər və API referansları alın. Tesseract GitHub Depozitory - Bir çox OCR sisteminin arxasında olan açıq-aşkar əsas motoru araşdırın: https://github.com/tesseract-ocr/tesseract İncəsənət məntəqəsi – Real-world .NET proqramlarında tanınma həcmi, hökmranlığı və resurs istifadəini ölçmək. Dillə Destek İnqilabı – İngilis dili olmayan dillərə, RTL tekstinə və hər hansı bir alətdə əl yazılmış inputlara kömək göstərin. Security & Deployment - Yerli vs bulud işləməsində faktor, lisenziyalılıq gerçəkləri və ticari kömək seçenekləri. OCR funksiyaları ilə istehsal hazır .NET proqramları göndərmək üçün fokuslanan komandalar üçün, Minimum qida ilə pullu və tam köməklikli bir deneyim təmin edir. IronOCR İŞİD ilə . Start building smarter OCR apps today “Ironocr”un özəlləşdirilməsi