मैं ओपनसीवी में काम कर रहा हूं लेकिन मुझे नहीं लगता कि इसके लिए कोई फ़ंक्शन है। मैं एफ़िन ट्रांसफॉर्मेशन खोजने के लिए एक फ़ंक्शन पा सकता हूं, लेकिन एफ़िन ट्रांसफॉर्मेशन में स्केलिंग शामिल है, और मैं केवल रोटेशन + अनुवाद पर विचार करना चाहता हूं।केवल अनुवाद और रोटेशन का उपयोग करके 2 डी अंकों के एक सेट को संरेखित करें
कल्पना कीजिए कि मेरे पास 2 डी में अंक के दो सेट हैं - मान लें कि प्रत्येक सेट में बिल्कुल 50 अंक हैं।
उदा। सेट ए = {x1, y1, x2, y2, ..., x50, y50}
सेट बी = {x1 ', y1', x2 ', y2', ..., x50 ', y50'}
मैं रोटेशन और अनुवाद संयोजन ढूंढना चाहता हूं जो सेट बी पर सेट ए मैप करने के सबसे नज़दीकी हो जाता है। मुझे लगता है कि मैं बी में बी और संबंधित बिंदुओं के बीच औसत दूरी को कम करने के रूप में "निकटतम" परिभाषित करता हूं, औसत को कम करता है दूरी (x1, y1) और (x1 ', y1'), आदि
मुझे लगता है कि मैं सभी संभावित अनुवादों और घूर्णनों का परीक्षण करने के लिए ब्रूट फोर्स का उपयोग कर सकता हूं लेकिन यह बेहद अक्षम होगा। क्या किसी को एक आसान तरीका पता है?
धन्यवाद!
क्या अंक के बीच एक-से-एक पत्राचार है? क्या वे वास्तव में एक ही बिंदु हैं और आपको बस परिवर्तन खोजने की जरूरत है? – phkahler