ภาพตัวอย่างที่คุณโพสต์มีมุมมองที่ค่อนข้างแข็งแกร่ง (ไม่ใช่ภาพที่ถ่ายโดยตรงจากทิศทางของพื้นผิวปกติ) ซึ่งอาจทำให้เกิดปัญหากับเทคนิคการจับคู่แม่แบบแม่มดใช้การประมวลผลบล็อก ฉันคิดว่าคุณต้องถ่ายภาพด้วยมุมมองที่แข็งแกร่งดังนั้นสิ่งแรกที่เราต้องทำคือประมาณการแปลงภาพซึ่งจะลบการฉายภาพมุมมองและจะส่งผลให้แก้ไขภาพ ("ภาพตรง")
แก้ไขมุมมองการฉายภาพเมื่อทราบรูปร่าง
เป้าหมายสูงสุดของการประมวลผลล่วงหน้าคือการหามุมของสี่เหลี่ยมสีเทานั้นซึ่งเป็นพื้นหลังของแผนภูมิสี ฉันเริ่มต้นด้วยการนวดข้าวด้วยค่าคงที่ วรรณคดี / เว็บมีข้อมูลจำนวนมากเกี่ยวกับวิธีการกำหนดค่าใหม่เมื่อภาพมีแสงไม่สม่ำเสมอ แต่หากทำได้ให้ลองแก้ไขการตั้งค่าภาพเพื่อให้แสงค่อนข้างสม่ำเสมอ

ฉันสันนิษฐานว่าแผนภูมิสีใช้หน้าจอส่วนใหญ่ค่อนข้างมากดังนั้นมันน่าจะเป็นพื้นที่ต่อเนื่องที่ใหญ่ที่สุดของภาพ มีฟังก์ชั่นการติดฉลากขาวดำหลายฟังก์ชั่น (MATLABs bwlabel, IPPs LabelMarkers, OpenCV มีไลบรารี่ภายนอก cvblob) ซึ่งจะให้ดัชนีของตัวเองในแต่ละพื้นที่เชื่อมต่อที่แตกต่างกัน หลังจากการติดฉลากคุณสามารถคำนวณพื้นที่ของส่วนประกอบที่เชื่อมต่อโดยใช้ฮิสโตแกรมจากนั้นเลือกส่วนประกอบที่มีพื้นที่มากที่สุด

เป็นความคิดที่ดีที่จะเติมองค์ประกอบเช่นส่วนประกอบที่ไม่มีรูซึ่งจะช่วยลดจำนวนพิกเซลขอบ

ตอนนี้เราสามารถใช้ตัวหาการหาขอบ (ฉันใช้วิธีการไล่ระดับสี แต่คุณสามารถติดตามขอบด้วยการติดตามพิกเซลสีขาวที่เชื่อมต่อกับพิกเซลสีดำ) เพื่อรับพิกเซลที่เป็นของนักเรียนประจำ

เนื่องจากวัตถุที่เราสนใจนั้นเป็นรูปสี่เหลี่ยมผืนผ้าฉันจึงติดตั้งสี่เส้นเข้ากับพิกเซลขอบโดยใช้การต่อสายที่มีประสิทธิภาพ (RANSAC) หลังจากค้นหาบรรทัดใหม่ฉันลบจุดทั้งหมดที่อยู่ใกล้กับบรรทัดที่พบนี้บังคับให้ดำเนินการปรับพอดีเพื่อกลับขอบของวัตถุอื่น ในที่สุดเมื่อพบขอบทั้งหมดฉันคำนวณจุดตัดที่เป็นไปได้ทั้งหมดระหว่างชุดของเส้น จากชุดของจุดผลลัพธ์ฉันลบจุดทั้งหมดนอกภาพ
ตอนนี้เรามีมุมของแผนภูมิสีและเมื่อเรารู้ขนาดของแผนภูมิเราสามารถคำนวณเมทริกซ์การแปลง (homography, การฉายภาพระหว่างระนาบสองระนาบใช้การแปลงเชิงเส้นโดยตรง (DLT) เพื่อแก้ ) ระหว่างพิกัดมิลลิเมตรและ พิกัดพิกเซลHHH
x=HX
เมทริกซ์การแปลงนี้สามารถใช้ในการแปลงภาพต้นฉบับซึ่งแผนภูมิสีจะถูกถ่ายโดยตรงจากทิศทางของพื้นผิวปกติ

ดังที่เห็นได้ว่ามีการเบี่ยงเบนรัศมีเพียงอย่างเดียว เมื่อเราใช้การแปลงสำหรับการแปลงภาพ (การประมาณค่าสองมิติ) เราเลือกพิกัดการประมาณเช่นนั้นเพื่อให้เราทราบความละเอียดของภาพที่แม่นยำซึ่งหมายความว่าตอนนี้เรารู้เช่นขนาดตัวอักษรH
หากเรายังต้องการทำการจับคู่แม่แบบบางอย่างเราสามารถใช้วิธีการจับคู่แม่แบบที่เหมาะสม วิธีนี้ไม่จำเป็นต้องเป็นค่าคงที่การหมุน / สเกลเนื่องจากภาพได้รับการแก้ไขแล้ว
