2012-07-11 9 views
6

संपादित: मैं अब इस समान प्रश्न एक बहुत विस्तृत जवाब के साथ मिल गया है:OpenCV के findHomography के लिए गंतव्य अंक की गणना

proportions of a perspective-deformed rectangle


मैं करने के लिए OpenCV के findHomography() और warpPerspective() तरीकों का उपयोग कर रहा हूँ कागज की चादर की एक तस्वीर "डी skew"। मेरे पास यह काफी हद तक काम कर रहा है लेकिन मैं विस्तार से अटक गया हूं।

भाग मैं समझ नहीं पा रहा हूं कि findHomography() पर इनपुट करने के लिए गंतव्य बिंदुओं के इष्टतम सेट की गणना करना है। मुझे पता है कि मैं चाहता हूं कि मेरा आउटपुट आयताकार हो, लेकिन मुझे चौड़ाई के आयत की ऊंचाई के अनुपात को नहीं पता। मैं आउटपुट आयताकार आकार भी लेना चाहता हूं कि जब मैं warpPerspective() के माध्यम से ट्रांसफॉर्म लागू करता हूं तो आउटपुट छवि की न्यूनतम स्केलिंग होती है। मेरे पास चार अंक हैं जो चतुर्भुज बनाते हैं जिसे मैं स्रोत छवि में बदलना चाहता हूं। मैं इष्टतम आकार के आयत आयत की गणना कैसे करूं?

+0

डुप्लिकेट: http://stackoverflow.com/questions/1194352/proportions-of-a-perspective-deformed-rectangle – TomSwift

उत्तर

4

findHomography() विधि को चार बिंदुओं की आवश्यकता होगी (यदि डायरेक्ट लीनियर ट्रांसफॉर्म का उपयोग कर रहे हैं)। यदि आप इष्टतम सेट चाहते हैं तो आपको 4-पॉइंट सेट की आवश्यकता होगी जो डीएलटी की होमोग्राफी न्यूनतम पुनर्भुगतान त्रुटि देता है। मेरा मतलब है, आपको एक विधि की आवश्यकता है जो विशेष गणितीय मॉडल od डीएलटी के लिए इनलाइन/आउटलायर का पता लगाता है।

यह विधि RANSAC है, और ओपनसीवी ने इसे कार्यान्वित किया है। आपको findhomography() के उदाहरण मिलेगा RANSAC के साथ संयुक्त।

मुझे व्यक्तिगत रूप से इसके साथ एक समस्या मिलती है और यह ओपनसीवी में RANSAC के पुनरावृत्तियों की संख्या है, जो बहुत अधिक है। यदि आप इष्टतम गति की तलाश में हैं तो आपको कोड में खोदना होगा।

इस सवाल का
+0

धन्यवाद; अच्छी जानकारी लेकिन मुझे जो चाहिए वह नहीं; मेरी प्राथमिक आवश्यकता आउटपुट आयत के लिए डब्ल्यू से एच के अनुपात को ढूंढना था, और मुझे मिला और इसी तरह के प्रश्न में उत्तर मिला। – TomSwift

+0

'findHomography()' में 4 से अधिक अंक प्लग करना ठीक है? – solvingPuzzles

संबंधित मुद्दे