1. 产品
  2.   OCR
  3.   .NET
  4.   Tesseract
 
  

用於 OCR 處理文字和圖像的開源 .NET API

開源 .NET 光學字元辨識 (OCR) API 用於將包含文字的圖像(掃描圖像和 PDF 檔案)轉換為機器可讀的文字。

Tesseract 是一個非常強大的開源光學字元辨識 (OCR) 引擎,可讓軟體開發人員將各種類型的包含文字的圖像轉換為 Python 應用程式中機器可讀的文字。開源技術使軟體開發人員能夠更輕鬆地存取和整合應用程式中強大的工具和函式庫,徹底改變了軟體開發人員建立應用程式的方式。它是 tesseract-ocr 的 .NET 包裝器,可用於廣泛的應用程序,從文件掃描和資料提取到自動影像識別和翻譯。

Tesseract 最初由 Hewlett-Packard 於 20 世紀 80 年代開發,後來於 2005 年作為開源專案發布。 100 種語言,以及處理多種影像格式的能力。 API 具有多種功能,例如文件掃描、文件數位化、使文件可搜尋、建立機器可讀文件、最佳化 OCR 效能等等。

Tesseract 非常易於處理,旨在識別各種影像格式的數位影像中的文本,例如 JPEG、BMP、PSD、PNG、TIFF 等。該庫是高度可自訂的,具有多種選項,可用於優化不同類型圖像和文字的 OCR 性能。無論您是進行文件掃描和數位化、資料擷取,還是影像辨識和翻譯,Tesseract 都能提供強大且可靠的解決方案,幫助您快速輕鬆地實現目標。

Previous Next

超正方體入門

安裝 Tesseract 的建議方法是使用 NuGet。為了順利安裝,請使用以下命令。

透過 NuGet 安裝 Tesseract

 Install-Package Tesseract 

透過 GitHub 安裝 Tesseract

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

透過 C# 從影像中提取基本文字

開源 C# 程式庫 Tesseract 使軟體開發人員能夠從自己的 .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);
        }
    }
}

透過 C# .NET 將影像轉換為可搜尋的 PDF

開源 C# 庫 Tesseract 包含一些有用的功能,可使用 C# 程式碼將圖像轉換為可搜尋的 PDF 文件。該庫還支援各種輸出格式,例如純文字、hOCR (HTML)、PDF、僅不可見文字的 PDF、TSV、ALTO 等。請記住,為了獲得更好的 OCR 結果,開發人員需要提高他們將提供給 Tesseract 的圖像的品質。以下範例示範如何建立包含影像中已識別文字的可搜尋 PDF 文件。

如何使用 C# .NET 將影像轉換為可搜尋 PDF

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);
 中国人