C# Read/Extract Text from Image with OCR

At some point, you may want to read text from images. In this article, I will introduce how to read text from image programmatically in C# with OCR.

Installation

In order to read text from image, I used Spire.OCR for .NET library. The following are the steps to include Spire.OCR in .NET Core project.

Step 1: Create a .NET Core (Recommended target framework: .NET Core 3.0 or above) project in Visual Studio.

 Step 2: Add reference to Spire.OCR for .NET DLLs in your project.

You can install Spire.OCR for .NET through NuGet using NuGet Package Manager, refer the following steps:

  • In Solution Explorer, right-click the project or “Dependencies” and select “Manage NuGet Packages”.
  • Click “Browse” tab and search Spire.OCR.
  • Install Spire.OCR.

Step 3: Copy dependency DLLs of Spire.OCR to running directory of your project.

If your project’s target framework is .NET Core 3.0 or above, please build the project, then copy the 6 DLLs from bin\Debug\netcoreapp3.0\runtimes\win-x64\native folder to the running directory such as bin\Debug\netcoreapp3.0 or C:\Windows\System32 .

If your project’s target framework is below .NET Core 3.0, you need to download Spire.OCR from the official website, unzip the package, and then copy the 6 DLLs from Spire.OCR\Spire.OCR_Dependency\x64 folder to the running directory such as bin\Debug\netcoreapp2.1 or C:\Windows\System32.

After finishing the above steps, you have successfully included Spire.OCR in your project. Now let’s start coding.

Implementation

By default, Spire.OCR supports English and Chinese, but it also supports other languages such as Korean, French, Japanese and Germany. If you need to read non-English or non-Chinese text, you need to use OcrScanner. LoadLanguageFile() method to load the language package before calling OcrScanner.Scan() method.

The following code example shows how to read English text from an image using Spire.OCR.

using Spire.OCR;
using System.IO;

namespace SpireOCR
{
    class Program
    {
        static void Main(string[] args)
        {
            OcrScanner scanner = new OcrScanner();            
            scanner.Scan("image.png");
            File.WriteAllText("output.txt", scanner.Text.ToString());
        }
    }
}

Thanks for taking time to read my article. If you encounter any problems when using Spire.OCR, please contact support@e-iceblue.com.

Design a site like this with WordPress.com
Get started