chuyển đổi hình ảnh thành văn bản trong C#

chuyển đổi hình ảnh thành văn bản trong C#

Chuyển đổi hình ảnh được quét của bạn thành một chuỗi theo chương trình bằng cách sử dụng [thư viện .NET OCR] này 1. Thư viện này cho phép bạn thực hiện OCR (Nhận dạng ký tự quang học) trong đó các bảng chữ cái trên hình ảnh được trích xuất và sau đó sắp xếp để lưu sang bất kỳ định dạng tệp nào. Bài đăng trên blog này sẽ khám phá thư viện này và viết đoạn mã để chuyển đổi hình ảnh thành văn bản trong C#. Tuy nhiên, thư viện này cung cấp nhiều phương pháp để quét và chuyển đổi hình ảnh sang định dạng văn bản theo chương trình.

Chúng tôi sẽ đề cập đến các điểm sau:

Cài đặt thư viện .NET OCR

Chúng tôi sẽ sử dụng thư viện hiệu quả và mạnh mẽ cho OCR này. Nó rất dễ cài đặt và cung cấp các bộ lọc tiền xử lý giúp nhận dạng hình ảnh được xoay. Tuy nhiên, bạn có thể tải xuống tệp DLL hoặc chạy lệnh sau trong trình quản lý gói NuGet để cài đặt API này trong dự án .NET của bạn.

Install-Package Aspose.OCR

Chuyển hình ảnh thành văn bản trong C#

Bạn có thể trích xuất văn bản từ hình ảnh được quét và lưu nó vào bất kỳ định dạng tệp nào khác bằng cách viết một vài dòng mã nguồn.

Thực hiện theo các bước sau và đoạn mã để chuyển đổi hình ảnh thành văn bản trong C# theo chương trình:

  1. Khởi tạo một phiên bản của AsposeOcr.
  2. Tải tệp hình ảnh nguồn bằng cách gọi phương thức RecognizeImage để nhận dạng văn bản trên hình ảnh.
  3. Hiển thị văn bản.
// Khởi tạo một phiên bản của AsposeOcr 
AsposeOcr api = new AsposeOcr();
// Tải tệp hình ảnh nguồn bằng cách gọi phương thức Nhận dạng hình ảnh nhận dạng văn bản trên hình ảnh 
string result = api.RecognizeImage("sample.png");
// Hiển thị văn bản được nhận dạng
Console.WriteLine(result);

Thao tác OCR trên hình ảnh chứa một dòng

Thư viện này cho phép bạn thực hiện các thao tác OCR trên hình ảnh chỉ chứa một dòng duy nhất. Bạn có thể làm theo các bước sau được đề cập dưới đây:

  1. Tạo một đối tượng của lớp AsposeOcr.
  2. Gọi phương thức RecognizeLine để nhận dạng hình ảnh chứa một dòng văn bản.
  3. Hiển thị văn bản được nhận dạng.
// Tạo một đối tượng của lớp AsposeOcr 
AsposeOcr api = new AsposeOcr();
// Gọi phương thức Nhận dạng dòng để nhận dạng hình ảnh có chứa một dòng văn bản. 
string result = api.RecognizeLine("sample.png");
// Hiển thị văn bản được nhận dạng
Console.WriteLine(result);

Thực hiện OCR trên hình ảnh từ luồng

Bạn cũng có thể thực hiện Nhận dạng ký tự quang học trên hình ảnh trong luồng. Phương thức tương tự sẽ được gọi như được sử dụng trong phần đầu tiên ở trên.

Sau đây là các bước:

  1. Khởi tạo một thể hiện của lớp AsposeOcr.
  2. Khởi tạo các hàm tạo của lớp MemoryStream để tạo luồng.
  3. Tải tệp hình ảnh nguồn bằng cách khởi tạo hàm tạo FileStream.
  4. Gọi phương thức CopyTo để ghi byte của luồng hiện tại vào luồng bộ nhớ.
  5. Gọi phương thức RecognizeImage để đọc văn bản từ hình ảnh.
string result = "";
// Khởi tạo một thể hiện của lớp AsposeOcr 
AsposeOcr api = new AsposeOcr();
// Khởi tạo các hàm tạo của lớp MemoryStream để tạo luồng 
using (MemoryStream ms = new MemoryStream())
// Tải tệp hình ảnh nguồn bằng cách khởi tạo hàm tạo FileStream  
using (FileStream file = new FileStream(  "sample.png", FileMode.Open, FileAccess.Read))
{
    // Gọi phương thức CopyTo để ghi byte của luồng hiện tại vào luồng bộ nhớ 
    file.CopyTo(ms);
    // Gọi phương thức Nhận dạng hình ảnh để đọc văn bản từ hình ảnh  
    result = api.RecognizeImage(ms);
}
// Hiển thị văn bản được nhận dạng
Console.WriteLine(result);

Nhận giấy phép miễn phí

Bạn có thể nhận được giấy phép tạm thời miễn phí để dùng thử API mà không bị giới hạn về đánh giá.

Tổng hợp

Điều này đưa chúng ta đến phần cuối của bài viết blog này. Chúng ta đã tìm hiểu cách chuyển đổi hình ảnh thành văn bản trong C# theo chương trình. Ngoài ra, chúng ta cũng đã tìm hiểu một số phương pháp nâng cao mà thư viện .NET OCR này cung cấp. Ngoài ra, bạn có thể truy cập tài liệu để biết các tính năng khác. Hơn nữa, bạn có thể tìm thấy các ví dụ mã cùng với mô tả phương thức tại đây. Chúng tôi sẽ xuất bản các bài viết thú vị khác trong tương lai gần. Vì vậy, hãy giữ liên lạc với conholdate.com để được cập nhật thường xuyên.

Đặt một câu hỏi

Bạn có thể cho chúng tôi biết về các câu hỏi hoặc thắc mắc của bạn trên diễn đàn của chúng tôi.

Câu hỏi thường gặp

OCR C# là gì?

Nhận dạng ký tự quang học là một kỹ thuật đọc văn bản từ hình ảnh được quét theo chương trình. Bạn có thể truy cập liên kết này để biết thêm chi tiết.

Làm cách nào để đọc văn bản từ hình ảnh?

Bạn có thể sử dụng phương thức Nhận dạng hình ảnh của [thư viện] .NET OCR 1 này để chuyển đổi hình ảnh thành văn bản.

Xem thêm