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