अपमानजनक होमोग्राफी मामलों को समझना महत्वपूर्ण है। उदाहरण के लिए, यदि आपके अंक कॉललाइनर या कॉललाइनर के नजदीक हैं, तो आपको अच्छी होमोग्राफी नहीं मिल सकती है। इसके अलावा, विशाल ग्रे वर्ग चरम स्केलिंग का संकेत दे सकते हैं। दोनों मामले इस तथ्य से उत्पन्न हो सकते हैं कि आपकी अंतिम होमोग्राफी गणना में बहुत कम इनलाइर्स हैं या मैपिंग गलत है।
यह सुनिश्चित करने के लिए कि यह कभी नहीं होता:
1. सुनिश्चित करें कि दोनों छवियों में अंक अच्छी तरह से फैले हुए हैं।
2. सुनिश्चित करें कि कम से कम 10-30 पत्राचार हैं (4 शोर छोटा होने पर पर्याप्त है)।
3. सुनिश्चित करें कि अंक सही ढंग से मेल खाते हैं और परिवर्तन एक होमोग्राफी है।
खराब homographies को खोजने के लिए अपने मूल बिंदुओं पर एच पाया जाता है और |x2-H*x1| < Tdist
पर आपके अपेक्षित बिंदुओं से अलगाव देखते हैं, जहां Tdist
दूरी त्रुटि के लिए आपकी दहलीज है। यदि केवल कुछ बिंदु हैं जो इस सीमा को पूरा करते हैं तो आपकी होमोग्राफी खराब हो सकती है और आपने शायद उपर्युक्त आवश्यकताओं में से एक का उल्लंघन किया है।
एसवीडी के लिए +1 ..... – Throwback1986
कोई भी 2 समझा सकता है।स्थिति आगे? मैं एसवीडी की गणना कैसे कर सकता हूं और सत्यापित कर सकता हूं कि पहले-से-आखिरी एकवचन मूल्य का अनुपात ओपनसीवी के साथ है? – Tony
http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html#SVD पास NO_UV, क्योंकि आप केवल एकवचन मूल्यों में रूचि रखते हैं। फिर अंतिम एकवचन मूल्य के पहले के अनुपात (स्थिति संख्या) की गणना करें। स्थिति संख्या की व्याख्या के लिए भी देखें: http://books.google.com/books?id=1aAOdzK3FegC&pg=PA69&lpg=PA69&dq=numerical+recipes+condition+number&source=bl&ots=3iSoC8Hoqi&sig=Aq1Yc2MHTpXPI4t8wIhU7h388jg&hl=hi&em=X&ei=hUmKUaqeMemx0QXr -आईसीएएजी और वीडी = 0CDMQ6AEwAA # वी = वनपृष्ठ और क्यू = संख्यात्मक% 20recipes% 20condition% 20number और f = false –