विभिन्न छवियों से बिंदुओं के दो सेटों के बीच एक होमोग्राफी का अनुमान लगाने के लिए ओपनसीवी के findHomography
फ़ंक्शन का उपयोग करते समय, आपको कभी-कभी आपके इनपुट पॉइंट्स के भीतर आउटलाइन के कारण खराब होमोग्राफी मिल जाएगी, भले ही आप RANSAC या LMEDS का उपयोग करें।आप कैसे बता सकते हैं कि एक होमोग्राफी मैट्रिक्स स्वीकार्य है या नहीं?
// opencv java example:
Mat H = Calib3d.findHomography(src_points, dst_points, Calib3d.RANSAC, 10);
आप कैसे बता सकते हैं कि परिणामी 3x3 होमोग्राफी मैट्रिक्स स्वीकार्य है या नहीं?
मैंने यहां स्टैक ओवरफ्लो और Google में इसका उत्तर देखा है और इसे ढूंढने में असमर्थ था।
मैं इस लेख पाया है, लेकिन यह थोड़ा मेरे लिए गुप्त है: अगर homography स्वीकार्य है
"The geometric error for homographies"
प्रश्न देखें http://stackoverflow.com/questions/10972438/detecting-garbage-homographies-from-findhomography-in-opencv/10981249#10981249 –
अगर आपका कैमरा आंदोलन सीमित है, तो आप अपने homography विघटित करने की कोशिश कर सकता है और भारी मूल्यों के लिए परीक्षण पैमाने, रोटेशन और/या अनुवाद पैरामीटर। अन्य विधि: यदि आप जानते हैं (या बाधा लेते हैं) कि छवियों के बड़े हिस्सों को ओवरलैप करना चाहिए, तो आप युद्ध के बाद ओवरलैप की गणना कर सकते हैं और यह तय कर सकते हैं कि यह स्पष्ट रूप से झूठी होमोग्राफी हो सकती है या नहीं। अन्य विधि: यदि आप RANSAC का उपयोग करते हैं तो आप आंतरिक (और/या अनुपात में वृद्धि/कुल) की संख्या से तय कर सकते हैं कि क्या होमोग्राफी अस्वीकार करनी चाहिए) – Micka
@ मिका आपकी मदद के लिए धन्यवाद, मैं पहले से ही RANSAC का उपयोग कर रहा था, कैमरा आंदोलन है सीमित नहीं है और मैं होमोग्राफी को लागू करने और ओवरलैप की जांच करने जैसे भारी गणनाओं में जाने से पहले homographies (मुख्य रूप से गणितीय) को त्यागने के तरीकों की तलाश में था। –