API .NET nguồn mở để OCR xử lý văn bản và hình ảnh
API Nhận dạng ký tự quang học (OCR) nguồn mở .NET được sử dụng để chuyển đổi hình ảnh (hình ảnh được quét và tệp PDF) có chứa văn bản thành văn bản mà máy có thể đọc được.
Tesseract là một công cụ nhận dạng ký tự quang học (OCR) mã nguồn mở rất mạnh mẽ cho phép các nhà phát triển phần mềm chuyển đổi nhiều loại hình ảnh có chứa văn bản thành văn bản có thể đọc được bằng máy bên trong các ứng dụng Python. Công nghệ mã nguồn mở đã cách mạng hóa cách các nhà phát triển phần mềm xây dựng ứng dụng của họ bằng cách giúp họ dễ dàng truy cập và tích hợp các công cụ và thư viện mạnh mẽ bên trong ứng dụng của họ. Đây là trình bao bọc .NET cho tesseract-ocr và có thể được sử dụng trong nhiều ứng dụng, từ quét tài liệu và trích xuất dữ liệu đến nhận dạng và dịch hình ảnh tự động.
Tesseract ban đầu được phát triển vào những năm 1980 bởi Hewlett-Packard và sau đó được phát hành dưới dạng một dự án mã nguồn mở vào năm 2005. Kể từ đó, nó đã trở thành một trong những công cụ OCR được sử dụng rộng rãi nhất trên thế giới, với hỗ trợ Unicode (UTF-8), hơn 100 ngôn ngữ và khả năng xử lý nhiều định dạng hình ảnh. Có nhiều tính năng khác nhau trong API như quét tài liệu, số hóa tài liệu, giúp tài liệu có thể tìm kiếm được, tạo tài liệu có thể đọc bằng máy, tối ưu hóa hiệu suất OCR và nhiều tính năng khác nữa.
Tesseract rất dễ sử dụng và được thiết kế để nhận dạng văn bản trong hình ảnh kỹ thuật số ở nhiều định dạng hình ảnh khác nhau, chẳng hạn như JPEG, BMP, PSD, PNG, TIFF và nhiều định dạng khác nữa. Thư viện có thể tùy chỉnh cao, với nhiều tùy chọn có thể được sử dụng để tối ưu hóa hiệu suất OCR cho nhiều loại hình ảnh và văn bản khác nhau. Cho dù bạn đang làm việc về quét và số hóa tài liệu, trích xuất dữ liệu hay nhận dạng và dịch hình ảnh, Tesseract đều cung cấp giải pháp mạnh mẽ và đáng tin cậy có thể giúp bạn đạt được mục tiêu của mình một cách nhanh chóng và dễ dàng.
Bắt đầu với Tesseract
Cách được khuyến nghị để cài đặt Tesseract là sử dụng NuGet. Vui lòng sử dụng lệnh sau để cài đặt trơn tru.
Cài đặt Tesseract qua NuGet
Install-Package Tesseract
Cài đặt Tesseract qua GitHub
git clone https://github.com/charlesw/tesseract.git
Trích xuất văn bản cơ bản từ hình ảnh qua C#
Thư viện C# nguồn mở Tesseract cho phép các nhà phát triển phần mềm trích xuất văn bản từ hình ảnh bên trong các ứng dụng .NET của riêng họ. Thư viện giúp các nhà phát triển phần mềm dễ dàng truy xuất nội dung văn bản của các tài liệu hoặc hình ảnh được quét và sử dụng nội dung đó để xử lý hoặc phân tích thêm. Để hoàn thành nhiệm vụ, trước tiên các nhà phát triển cần nhập không gian tên Tesseract vào tệp mã của bạn và tạo một phiên bản của công cụ Tesseract. Ví dụ sau đây cho thấy cách trích xuất văn bản cơ bản từ hình ảnh và xuất ra bảng điều khiển.
Làm thế nào để trích xuất văn bản cơ bản từ hình ảnh thông qua API C#?
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);
}
}
}
Chuyển đổi hình ảnh thành PDF có thể tìm kiếm thông qua C# .NET
Thư viện C# nguồn mở Tesseract đã bao gồm một số tính năng hữu ích để chuyển đổi hình ảnh thành tài liệu PDF có thể tìm kiếm bằng mã C#. Thư viện cũng bao gồm hỗ trợ cho nhiều định dạng đầu ra khác nhau, chẳng hạn như văn bản thuần túy, hOCR (HTML), PDF, PDF chỉ có văn bản ẩn, TSV, ALTO và nhiều định dạng khác. Xin lưu ý rằng để có kết quả OCR tốt hơn, nhà phát triển cần cải thiện chất lượng hình ảnh mà họ sẽ cung cấp cho Tesseract. Ví dụ sau đây cho thấy cách tạo tài liệu PDF có thể tìm kiếm có chứa văn bản được nhận dạng từ hình ảnh.
Cách chuyển đổi hình ảnh sang PDF có thể tìm kiếm bằng 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);