Tạo Bảng OMR có mã vạch trong C# | Đọc mã vạch OMR C#

Nhận dạng nhãn hiệu quang học (OMR) là một công nghệ có thể được sử dụng để đọc và trích xuất dữ liệu từ hình ảnh của các hình thức được đánh dấu. OMR thường được sử dụng trong các bài kiểm tra, khảo sát và bỏ phiếu tiêu chuẩn hóa, nhưng nó cũng có thể được sử dụng trong nhiều ứng dụng khác, chẳng hạn như chấm điểm bài tập của học sinh và theo dõi hàng tồn kho. Trong bài đăng trên blog này, chúng tôi sẽ chỉ cho bạn cách tạo và đọc bảng OMR có mã vạch trong C#.

Bài viết này bao gồm các chủ đề sau:

  1. Tạo và đọc OMR bằng mã vạch - API C#
  2. Tạo bảng OMR bằng mã vạch
  3. Đọc bảng OMR bằng mã vạch
  4. Tài nguyên học tập miễn phí

Tạo và đọc OMR bằng mã vạch - API C#

Chúng tôi sẽ sử dụng Aspose.OMR for .NET API để tạo và đọc bảng OMR có mã vạch trong C#. Nó cho phép các nhà phát triển nhanh chóng và dễ dàng thiết kế, kết xuất và nhận dạng các bảng câu trả lời, khảo sát, ứng dụng và các biểu mẫu tương tự được điền bằng tay trong các ứng dụng .NET.

Vui lòng tải xuống DLL của API hoặc cài đặt nó bằng NuGet.

PM> Install-Package Aspose.OMR

Tạo bảng OMR có mã vạch trong C#

Chúng ta có thể dễ dàng tạo tệp và hình ảnh trang tính mẫu OMR (.omr) bằng cách sử dụng đánh dấu văn bản đơn giản bằng cách thực hiện theo các bước bên dưới:

  1. Tạo một thể hiện của lớp OmrEngine.
  2. Sau đó, lấy đối tượng GenerationResult bằng cách gọi phương thức GeneTemplate() với đường dẫn tệp văn bản làm đối số.
  3. Cuối cùng, gọi phương thức Save() để lưu hình ảnh đã tạo và tệp mẫu .omr trên đĩa cục bộ.

Mẫu mã sau đây cho biết cách tạo bảng OMR có mã vạch bằng C#.

// Thư mục tập tin đầu vào và đầu ra
string dataDir = "C:\\Files\\";

// Khởi tạo động cơ
OmrEngine engine = new OmrEngine();

GenerationResult res = engine.GenerateTemplate(Path.Combine(dataDir, "OMRTestWithBarcode.txt"));

// Kiểm tra trường hợp có sai sót
if (res.ErrorCode != 0)
{
    Console.WriteLine("ERROR: " + res.ErrorCode + ": " + res.ErrorMessage);
}

// Lưu kết quả tạo: hình ảnh và mẫu .omr
res.Save(dataDir, "OMRTestWithBarcode");
Tạo bảng OMR có mã vạch trong C#

Tạo bảng OMR với mã vạch trong C#.

Bạn có thể kiểm tra thêm đánh dấu văn bản đơn giản sau đây được sử dụng để tạo mẫu OMR:

?barcode=AsposeWebsite
	value=aspose.com
	barcode_type=qr
	qr_version=1
	x=1900
	y=250
	height=360

?grid=ID
	sections_count=8
#What is Aspose.OMR main function?
	() OCR() Capture human-marked data
	() There is no main function() Enhance images
#Can Aspose.OMR process not only scans, but also photos?
	() Yes, indeed!() No
#Aspose.OMR is available on any platform, because it is:
	() Cross-platform code() Cloud service
#Aspose.OMR works with any kind of OMR forms: tests, exams, questionnaires, surveys, etc.
	() Yes, indeed!() No

?text= Answer sheet section
?answer_sheet=MainQuestions
	elements_count=12
	columns_count=4

?text=Sign________________________________

Vui lòng tải xuống mẫu OMR đã tạo tại đây.

Đọc bảng OMR có mã vạch trong C#

Chúng tôi có thể thực hiện các thao tác OMR trên hình ảnh được quét đầy của tờ OMR có mã vạch và trích xuất dữ liệu trong tệp CSV. Với mục đích này, chúng tôi cần mẫu OMR đã chuẩn bị sẵn (.omr) và hình ảnh (biểu mẫu/trang tính do người dùng điền). Vui lòng làm theo các bước bên dưới để đọc bảng OMR có mã vạch và trích xuất dữ liệu ở dạng CSV.

  1. Tạo một thể hiện của lớp OmrEngine.
  2. Gọi phương thức GetTemplateProcessor() và khởi tạo đối tượng lớp templateProcessor. Nó lấy đường dẫn tệp mẫu OMR làm đối số.
  3. Lấy đối tượng Nhận dạngKết quả bằng cách gọi phương thức Nhận biết() với đường dẫn hình ảnh làm đối số.
  4. Sau đó, nhận kết quả nhận dạng dưới dạng chuỗi CSV bằng phương thức GetCsv().
  5. Cuối cùng, lưu kết quả CSV dưới dạng tệp CSV trên đĩa cục bộ.

Mẫu mã sau đây cho biết cách đọc và trích xuất dữ liệu từ bảng OMR có mã vạch trong C#.

// Ví dụ mã này trình bày cách thực hiện OMR trên hình ảnh và trích xuất dữ liệu
// Đường dẫn tệp mẫu OMR
string TemplateName = @"OMRTestWithBarcode.omr";
string UserImage = @"OMRTestWithBarcode.png";

// Đường dẫn tập tin đầu vào và đầu ra
string dataDir = "C:\\Files\\";
string templatePath = Path.Combine(dataDir, TemplateName);

// Khởi tạo công cụ OMR
OmrEngine engine = new OmrEngine();
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
Console.WriteLine("Template loaded.");

// Nhận kết quả ở dạng CSV
string imagePath = Path.Combine(dataDir, UserImage);
string csvResult = templateProcessor.Recognize(imagePath).GetCsv();

// Lưu tệp CSV
File.WriteAllText(Path.Combine(dataDir, Path.GetFileNameWithoutExtension(UserImage) + ".csv"), csvResult);
Console.WriteLine("Result exported. Path: " + Path.Combine(dataDir, Path.GetFileNameWithoutExtension(UserImage) + ".csv"));

Console.WriteLine(csvResult);
Đọc bảng OMR với mã vạch trong C#

Đọc bảng OMR với mã vạch trong C#.

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

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

Aspose.OMR for .NET – Tài nguyên học tập

Bên cạnh việc trích xuất dữ liệu OMR từ hình ảnh, bạn có thể tìm hiểu thêm về Aspose.OMR và khám phá các tính năng khác của thư viện bằng các tài nguyên bên dưới:

Phần kết luận

Trong bài viết này, chúng ta đã học cách tạo và đọc bảng OMR có mã vạch trong C#. Chúng tôi cũng đã xem cách trích xuất và lưu dữ liệu OMR ở định dạng CSV. Bằng cách làm theo các bước được nêu trong bài viết này, bạn có thể tận dụng Aspose.OMR và phát triển các ứng dụng OMR của riêng mình. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm