
ภาพรวม
การรับรู้เครื่องหมายออปติคัล (OMR) เป็นกระบวนการอิเล็กทรอนิกส์ที่ช่วยในการอ่านและจับข้อมูลที่ผู้คนทำเครื่องหมายไว้ในแบบฟอร์มเอกสารที่ออกแบบมาเป็นพิเศษ เช่น การทดสอบหรือการสำรวจ ซึ่งรวมถึงการกรอกข้อมูลด้วยฟองหรือสี่เหลี่ยม โดยการใช้ การดึงข้อมูลจากภาพใน Java เราสามารถจัดการกับภาพที่สแกนของแบบฟอร์มสำรวจ แบบสอบถาม หรือแผ่นทดสอบได้อย่างมีประสิทธิภาพ ทำให้สามารถอ่านข้อมูลที่ผู้ใช้กรอกได้ตามโปรแกรม บทความนี้จะแนะนำวิธีการทำ OMR และดึงข้อมูลจากภาพโดยใช้ Java
หัวข้อที่จะแสดงในบทความนี้มีดังนี้:
- Java OMR API เพื่อดึงข้อมูลจากภาพ
- การดึงข้อมูลจากภาพใน Java
- ทำ OMR และดึงข้อมูลจากหลายภาพ
- ดึงข้อมูล OMR ด้วยเกณฑ์
- ดึงข้อมูล OMR ด้วยการคำนวณใหม่
Java OMR API เพื่อดึงข้อมูลจากภาพ
เพื่อทำการดำเนินการ OMR และ การดึงข้อมูลจากภาพใน Java เราจะใช้ Aspose.OMR สำหรับ Java API เครื่องมือที่มีประสิทธิภาพนี้ช่วยในการออกแบบ สร้าง และรับรู้แผ่นคำตอบ การทดสอบ เอกสาร MCQ แบบทดสอบ แบบฟอร์มข้อเสนอ ความคิดเห็น การสำรวจ และบัตรเลือกตั้ง
คลาส OmrEngine ภายใน API มีหน้าที่ในการสร้างเทมเพลตและประมวลผลภาพ เมธอด getTemplateProcessor(String templatePath) จะเริ่มต้นอินสแตนซ์ TemplateProcessor ที่ออกแบบมาเพื่อจัดการกับเทมเพลตและภาพ เพื่อรับรู้ภาพ เมธอด recognizeImage(String imagePath) สามารถนำมาใช้ได้ ซึ่งจะคืนค่าทุกองค์ประกอบ OMR เป็นอินสแตนซ์ของคลาส RecognitionResult โดยใช้เมธอด getCsv() คุณสามารถสร้างสตริง CSV ที่มีผลการรับรู้ นอกจากนี้ เมธอด recalculate(RecognitionResult result, int recognitionThreshold) จะปรับปรุงผลการรับรู้ด้วยพารามิเตอร์ที่กำหนดเอง
โปรด ดาวน์โหลด JAR ของ API หรือเพิ่มการกำหนด pom.xml ต่อไปนี้ในแอปพลิเคชัน Java ที่ใช้ Maven
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-omr</artifactId>
<version>19.12</version>
</dependency>
การดึงข้อมูลจากภาพใน Java
เพื่อดำเนินการ OMR เราต้องการไฟล์เทมเพลต OMR ที่เตรียมไว้ (.omr) และภาพของแบบฟอร์มที่ผู้ใช้กรอกหรือแผ่นงาน ขั้นตอนของการดึงข้อมูลจากภาพใน Java โดยเฉพาะการใช้การดำเนินการ OMR ประกอบด้วยขั้นตอนดังต่อไปนี้:
- ก่อนอื่น สร้างอินสแตนซ์ของคลาส OmrEngine
- ถัดไป เรียกใช้เมธอด getTemplateProcessor() และเริ่มต้นอินสแตนซ์ของคลาส TemplateProcessor โดยส่งพาธของไฟล์เทมเพลต OMR เป็นอาร์กิวเมนต์
- จากนั้น รับอ็อบเจ็กต์ RecognitionResult โดยเรียกใช้เมธอด recognizeImage() โดยใช้พาธของภาพเป็นอาร์กิวเมนต์
- หลังจากนั้น รับผลการรับรู้เป็นสตริง CSV โดยใช้เมธอด getCsv()
- สุดท้าย บันทึกผล CSV เป็นไฟล์ CSV ในดิสก์ท้องถิ่น
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการทำ การดึงข้อมูลจากภาพใน Java โดยการแปลงข้อมูล OMR เป็นรูปแบบ CSV

ทำ OMR และดึงข้อมูลจากภาพใน Java.
โปรด ดาวน์โหลดเทมเพลต OMR ที่ใช้ในบล็อกโพสต์นี้
ทำ OMR และดึงข้อมูลจากหลายภาพ
เราสามารถทำการดำเนินการ OMR บนหลายภาพและดึงข้อมูลในไฟล์ CSV แยกสำหรับแต่ละภาพ โดยใช้ขั้นตอนที่กล่าวถึงก่อนหน้านี้ เพื่อทำ การดึงข้อมูลจากภาพใน Java จำเป็นต้องทำซ้ำขั้นตอนที่ 3, 4 และ 5 สำหรับแต่ละภาพโดยเฉพาะ
ด้านล่างเป็นตัวอย่างโค้ดที่แสดงวิธีการดึงข้อมูล OMR จากหลายภาพโดยใช้ Java
. ข้อมูลรายการ ไม่ว่าจะเป็นหัวข้อหรือลำดับ ต้องไม่เปลี่ยนแปลงเลย
ดึงข้อมูล OMR ด้วยเกณฑ์ใน Java
เพื่อดำเนินการรับรู้เครื่องหมายออปติคัล (OMR) ใน Java เราจะใช้ค่าระดับเกณฑ์ระหว่าง 0 ถึง 100 ตามความต้องการเฉพาะ ค่าระดับเกณฑ์นี้ที่ใช้ในการดึงข้อมูลจากภาพใน Java จะกำหนดว่า API จะเข้มงวดในการเน้นคำตอบมากน้อยเพียงใด ค่าที่สูงขึ้นจะเพิ่มความเข้มงวด การปฏิบัติตามขั้นตอนที่กล่าวถึงก่อนหน้านี้เป็นสิ่งสำคัญสำหรับการประมวลผล OMR โดยใช้ระดับเกณฑ์ที่เลือก โดยเฉพาะอย่างยิ่งภายในขั้นตอน #3 เมธอด recognizeImage(string, int32) จะต้องถูกเรียกใช้ เมธอดนี้มีการโอเวอร์โหลดและต้องการพาธไฟล์ภาพและค่าระดับเกณฑ์ที่ต้องการเป็นพารามิเตอร์
ตัวอย่างโค้ดต่อไปนี้แสดง วิธีการทำ OMR ด้วยค่าระดับเกณฑ์โดยใช้ Java:
ดึงข้อมูล OMR ด้วยการคำนวณใหม่ใน Java
เมื่อจัดการกับ การดึงข้อมูลจากภาพใน Java ที่จำเป็นต้องแม่นยำ โดยเฉพาะในส่วนของ OMR อาจมีความจำเป็นในการคำนวณผลลัพธ์ใหม่โดยใช้ค่าระดับเกณฑ์ที่แตกต่างกัน โดยการกำหนด API การคำนวณใหม่สามารถทำได้โดยอัตโนมัติผ่านเมธอด TemplateProcessor.recalculate() วิธีการนี้ช่วยให้สามารถประมวลผลภาพหลายครั้งได้โดยการปรับระดับเกณฑ์จนกว่าจะได้ผลลัพธ์ที่ต้องการ ในการดำเนินการ OMR ด้วยการคำนวณใหม่ได้สำเร็จ ให้ทำตามขั้นตอนต่อไปนี้:
- ก่อนอื่น สร้างอินสแตนซ์ของคลาส OmrEngine
- ถัดไป เรียกใช้เมธอด getTemplateProcessor() และเริ่มต้นอ็อบเจ็กต์ของคลาส TemplateProcessor โดยส่งพาธของไฟล์เทมเพลต OMR เป็นอาร์กิวเมนต์
- จากนั้น รับอ็อบเจ็กต์ RecognitionResult โดยเรียกใช้เมธอด recognizeImage() โดยใช้พาธของภาพเป็นอาร์กิวเมนต์
- ถัดไป ส่งออกผลการรับรู้เป็นสตริง CSV โดยใช้เมธอด getCsv()
- จากนั้น บันทึกผล CSV เป็นไฟล์ CSV ในดิสก์ท้องถิ่น
- ถัดไป เรียกใช้เมธอด recalculate() โดยส่งอ็อบเจ็กต์ RecognitionResult และค่าระดับเกณฑ์เป็นอาร์กิวเมนต์
- หลังจากนั้น ส่งออกผลการรับรู้เป็นสตริง CSV โดยใช้เมธอด getCsv()
- สุดท้าย บันทึกผล CSV เป็นไฟล์ CSV ในดิสก์ท้องถิ่น
ตัวอย่างโค้ดต่อไปนี้แสดง วิธีการทำ OMR ด้วยวิธีการคำนวณใหม่โดยใช้ Java:
.
รับใบอนุญาตฟรี
คุณมีโอกาส รับใบอนุญาตชั่วคราวฟรี เพื่อทดลองใช้ห้องสมุดโดยไม่มีข้อจำกัดในการประเมิน นี่เป็นวิธีที่ดีในการสำรวจฟีเจอร์ต่าง ๆ เช่น การดึงข้อมูลจากภาพใน Java ซึ่งช่วยให้คุณประเมินความสามารถได้อย่างเต็มที่ ข้อมูลรายการด้านล่างยังคงไม่เปลี่ยนแปลงเพื่อการอ้างอิงของคุณ:
- ห้องสมุดทำงานได้อย่างมีประสิทธิภาพกับข้อมูลจำนวนมาก
- การรวมเข้ากับระบบที่มีอยู่เป็นไปอย่างราบรื่น
- ข้อมูลที่ดึงออกมามีความแม่นยำและเชื่อถือได้สูง
- ขั้นตอนการติดตั้งนั้นเรียบง่ายและมีเอกสารที่ดี
บทสรุป
ในบทความนี้เราได้เรียนรู้วิธีการ:
- ทำการดำเนินการ OMR บนภาพ;
- ดึงข้อมูลในรูปแบบ CSV ตามโปรแกรม;
- ใช้การตั้งค่าระดับเกณฑ์ในขณะทำ OMR บนภาพ;
- คำนวณผล OMR ในกระบวนการอัตโนมัติด้วย Java.
นอกจากนี้ เมื่อจัดการกับการดึงข้อมูลจากภาพใน Java คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ Aspose.OMR สำหรับ Java API โดยการตรวจสอบ เอกสาร หากคุณพบปัญหาใด ๆ กรุณาติดต่อเราทาง ฟอรัมสนับสนุนฟรี.