การจดจำเครื่องหมายด้วยแสง (OMR) เป็นเทคโนโลยีที่สามารถใช้ในการอ่านและดึงข้อมูลจากรูปภาพของแบบฟอร์มที่ทำเครื่องหมายไว้ โดยทั่วไป OMR จะใช้ในการทดสอบ แบบสำรวจ และการลงคะแนนที่ได้มาตรฐาน แต่ยังสามารถนำมาใช้ในการใช้งานอื่นๆ ที่หลากหลาย เช่น การให้คะแนนงานของนักเรียน และการติดตามสินค้าคงคลัง ในโพสต์บล็อกนี้ เราจะแสดงให้คุณเห็นถึงวิธีการสร้างและอ่านแผ่นงาน OMR ด้วยบาร์โค้ดใน C#
บทความนี้ครอบคลุมหัวข้อต่อไปนี้:
- สร้างและอ่าน OMR ด้วยบาร์โค้ด - C# API
- สร้างแผ่น OMR ด้วยบาร์โค้ด
- อ่านแผ่น OMR พร้อมบาร์โค้ด
- แหล่งเรียนรู้ฟรี
สร้างและอ่าน OMR ด้วยบาร์โค้ด - C# API
เราจะใช้ Aspose.OMR for .NET API เพื่อสร้างและอ่านแผ่น OMR ด้วยบาร์โค้ดใน C# ช่วยให้นักพัฒนาสามารถออกแบบ แสดงผล และจดจำกระดาษคำตอบ แบบสำรวจ แอปพลิเคชัน และแบบฟอร์มที่คล้ายกันในแอปพลิเคชัน .NET ที่กรอกด้วยมือได้อย่างรวดเร็วและง่ายดาย
โปรด ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet
PM> Install-Package Aspose.OMR
สร้างแผ่น OMR ด้วยบาร์โค้ดใน C#
เราสามารถสร้างไฟล์เทมเพลต OMR (.omr) และรูปภาพชีตได้อย่างง่ายดายโดยใช้มาร์กอัปข้อความธรรมดาโดยทำตามขั้นตอนด้านล่าง:
- สร้างอินสแตนซ์ของคลาส OmrEngine
- หลังจากนั้น รับอ็อบเจ็กต์ GenerationResult โดยการเรียกเมธอด GenerateTemplate() โดยมีเส้นทางไฟล์ข้อความเป็นอาร์กิวเมนต์
- สุดท้าย เรียกเมธอด Save() เพื่อบันทึกรูปภาพที่สร้างขึ้นและไฟล์เทมเพลต .omr บนดิสก์ภายในเครื่อง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างแผ่นงาน OMR ด้วยบาร์โค้ดโดยใช้ C#
// ไดเร็กทอรีไฟล์อินพุตและเอาต์พุต
string dataDir = "C:\\Files\\";
// เริ่มต้นเครื่องยนต์
OmrEngine engine = new OmrEngine();
GenerationResult res = engine.GenerateTemplate(Path.Combine(dataDir, "OMRTestWithBarcode.txt"));
// ตรวจสอบในกรณีที่เกิดข้อผิดพลาด
if (res.ErrorCode != 0)
{
Console.WriteLine("ERROR: " + res.ErrorCode + ": " + res.ErrorMessage);
}
// บันทึกผลลัพธ์การสร้าง: รูปภาพและเทมเพลต .omr
res.Save(dataDir, "OMRTestWithBarcode");
คุณสามารถตรวจสอบมาร์กอัปข้อความธรรมดาต่อไปนี้ซึ่งใช้ในการสร้างเทมเพลต 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________________________________
โปรด ดาวน์โหลดเทมเพลต OMR ที่สร้างขึ้น ที่นี่
อ่านแผ่น OMR พร้อมบาร์โค้ดใน C#
เราสามารถดำเนินการ OMR กับภาพที่สแกนที่เติมแล้วของแผ่น OMR ด้วยบาร์โค้ด และแยกข้อมูลเป็นไฟล์ CSV เพื่อจุดประสงค์นี้ เราจำเป็นต้องมีเทมเพลต OMR (.omr) ที่เตรียมไว้และรูปภาพ (แบบฟอร์ม/ชีตที่ผู้ใช้กรอก) โปรดทำตามขั้นตอนด้านล่างเพื่ออ่านแผ่น OMR พร้อมบาร์โค้ดและแยกข้อมูลในรูปแบบ CSV
- สร้างอินสแตนซ์ของคลาส OmrEngine
- เรียกเมธอด GetTemplateProcessor() และเตรียมใช้งานอ็อบเจ็กต์คลาส TemplateProcessor ใช้เส้นทางไฟล์เทมเพลต OMR เป็นอาร์กิวเมนต์
- รับวัตถุ RecognitionResult โดยการเรียกเมธอด Recognize() โดยมีเส้นทางรูปภาพเป็นอาร์กิวเมนต์
- หลังจากนั้น รับผลลัพธ์การจดจำเป็นสตริง CSV โดยใช้เมธอด GetCsv()
- สุดท้าย ให้บันทึกผลลัพธ์ CSV เป็นไฟล์ CSV บนดิสก์ภายในเครื่อง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านและดึงข้อมูลจากแผ่น OMR ด้วยบาร์โค้ดใน C#
// ตัวอย่างโค้ดนี้สาธิตวิธีการดำเนินการ OMR บนรูปภาพและแยกข้อมูล
// เส้นทางไฟล์เทมเพลต OMR
string TemplateName = @"OMRTestWithBarcode.omr";
string UserImage = @"OMRTestWithBarcode.png";
// เส้นทางไฟล์อินพุตและเอาต์พุต
string dataDir = "C:\\Files\\";
string templatePath = Path.Combine(dataDir, TemplateName);
// เริ่มต้นเครื่องยนต์ OMR
OmrEngine engine = new OmrEngine();
TemplateProcessor templateProcessor = engine.GetTemplateProcessor(templatePath);
Console.WriteLine("Template loaded.");
// รับผลลัพธ์ในรูปแบบ CSV
string imagePath = Path.Combine(dataDir, UserImage);
string csvResult = templateProcessor.Recognize(imagePath).GetCsv();
// บันทึกไฟล์ 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);
รับใบอนุญาตฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวฟรี เพื่อลองใช้ห้องสมุดโดยไม่มีข้อจำกัดในการประเมิน
Aspose.OMR for .NET – ทรัพยากรการเรียนรู้
นอกจากการแยกข้อมูล OMR จากรูปภาพแล้ว คุณยังสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.OMR และสำรวจคุณสมบัติอื่นๆ ของไลบรารีโดยใช้แหล่งข้อมูลด้านล่าง:
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีสร้างและอ่านแผ่นงาน OMR ด้วยบาร์โค้ดใน C# เรายังได้เห็นวิธีการแยกและบันทึกข้อมูล OMR ในรูปแบบ CSV อีกด้วย ด้วยการทำตามขั้นตอนที่สรุปไว้ในบทความนี้ คุณสามารถใช้ประโยชน์จาก Aspose.OMR และพัฒนาแอปพลิเคชัน OMR ของคุณเองได้ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรัมการสนับสนุนฟรี