Bạn có thể nhận ra các dấu cụ thể trên hình ảnh bằng cách thực hiện các thao tác nhận dạng dấu quang học. Ví dụ: bạn có thể nhận ra các bong bóng được lấp đầy cho một bảng câu hỏi, khảo sát hoặc một bài kiểm tra ở dạng Câu hỏi nhiều lựa chọn. Vui lòng tham khảo các phần sau để biết thêm chi tiết:
- Nhận dạng dấu quang học - Cài đặt API C#
- Nhận dạng hình ảnh từ MemoryStream bằng OMR trong C#
- Xử lý hàng loạt hình ảnh để nhận dạng với OMR sử dụng C#
Nhận dạng dấu quang học - Cài đặt API C#
Bạn có thể định cấu hình API Aspose.OMR for .NET trong các ứng dụng C# của mình bằng cách tải xuống DLL từ phần Tải xuống hoặc qua thư viện NuGet với lệnh cài đặt sau:
PM> Install-Package Aspose.OMR
Nhận dạng hình ảnh từ MemoryStream bằng OMR trong C#
Đôi khi hình ảnh được lưu trữ trong cơ sở dữ liệu hoặc một số tài nguyên từ xa và bạn có thể tải các tệp đó trong Dòng nhớ. Tương tự như vậy, có thể có nhiều trường hợp mà việc lưu hình ảnh trên đĩa và sau đó tải nó để xử lý có thể là một chi phí. Vì vậy, bạn có thể tải hình ảnh vào Luồng và thực hiện các thao tác OMR trên đó một cách thuận tiện. Dưới đây là các bước để nhận dạng hình ảnh từ MemoryStream:
- Lấy mẫu để nhận dạng.
- Khởi tạo đối tượng lớp OmrEngine.
- Nhận dạng hình ảnh trong Dòng nhớ bằng phương pháp RecognizeImage.
- Lưu tệp đầu ra với thể hiện lớp RecognitionResult.
Đoạn mã sau đây cho thấy cách nhận dạng hình ảnh từ MemoryStream với OMR trong C#:
// Nhận mẫu để nhận dạng
string templatePath = "Sheet.omr";
// Nhận hình ảnh để nhận dạng
string imagePath = "Sheet1.JPG";
// Khởi tạo đối tượng lớp OmrEngine
OmrEngine engine = new OmrEngine();
// Đặt mẫu để nhận dạng
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
using (Image image = Image.FromFile(imagePath))
{
using (MemoryStream ms = new MemoryStream())
{
image.Save(ms, image.RawFormat);
ms.Flush();
// Nhận dạng hình ảnh
Aspose.OMR.Model.RecognitionResult result = templateProcessor.RecognizeImage(ms);
var stringRes = result.GetCsv();
File.WriteAllText(Path.GetFileNameWithoutExtension(imagePath) + ".csv", stringRes);
}
}
Xử lý hàng loạt hình ảnh để nhận dạng với OMR sử dụng C#
Bạn có thể xử lý một loạt ảnh trong một thư mục và nhận dạng các dấu bằng nhận dạng dấu quang học. Vui lòng làm theo các bước sau để nhận dạng một loạt hình ảnh:
- Lấy mẫu OMR để nhận dạng.
- Nhận RecognitionResult của tất cả các hình ảnh bằng phương pháp RecognitionFolder.
- Lưu đầu ra dưới dạng tệp CSV.
Đoạn mã dưới đây giải thích cách xử lý một loạt ảnh để nhận dạng nhãn hiệu quang học theo chương trình bằng C#:
// Nhận mẫu để nhận dạng
string templatePath = "Sheet.omr";
// Thư mục Get chứa hình ảnh để nhận dạng
string folderPath = "D:\images\";
OmrEngine engine = new OmrEngine();
// Đặt mẫu để nhận dạng
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
// Nhận dạng hình ảnh từ thư mục
Aspose.OMR.Model.RecognitionResult[] result = templateProcessor.RecognizeFolder(folderPath);
for (int i = 0; i < result.Length; i++)
{
var stringRes = result[i].GetCsv();
File.WriteAllText(folderPath + (i+1) + ".csv", stringRes);
}
Nhận giấy phép API miễn phí
Bạn có thể đánh giá API mà không có bất kỳ giới hạn nào bằng cách yêu cầu Giấy phép tạm thời miễn phí.
Sự kết luận
Trong bài viết này, bạn đã học cách nhận dạng hình ảnh từ MemoryStream bằng cách sử dụng OMR trong C#. Nó cũng thảo luận về việc nhận dạng tất cả các hình ảnh trong một thư mục và lưu kết quả đầu ra dưới dạng CSV, các giá trị được phân tách bằng dấu phẩy, tệp. Hơn nữa, bạn có thể xem các tính năng khác của API bằng cách truy cập Tài liệu. Bạn luôn có thể liên hệ với chúng tôi tại Diễn đàn hỗ trợ miễn phí nếu bạn có bất kỳ thắc mắc nào.