2013-04-04 6 views
5

मैं होमपोग्राफी को खोजने के लिए ओपनसीवी के फंक्शन findHomography का उपयोग कर रहा हूं जो कीपॉइंट्स के सेट से जुड़े दो चित्रों से संबंधित है। मुख्य मुद्दा यह है कि मैं कहीं भी नहीं ढूंढ पा रहा हूं कि फ़ंक्शन आउटपुट मास्क मैट्रिक्स के मान क्या हैं। केवल जानकारी जो मुझे पता है कि 0 मान बाह्य हैं, और गैर शून्य मान इनलाइन हैं। लेकिन इनलाइन मूल्यों का क्या अर्थ है? कोई जानता है?ओपनसीवी सी ++ ढूंढें होमोोग्राफी मास्क मान

अग्रिम धन्यवाद! कोड की

टुकड़ा जहाँ मैं findHomography फोन:

cv::Mat H12; 
cv::Mat mask; 

H12 = cv::findHomography(FvPointsIm1, FvPointsIm2, mask, CV_RANSAC, 5); 
ui->Debug_Label->setText(Mat2QString(mask)); 
+0

क्या आप अंदरूनी/बाहरी भेद के अर्थ, या मास्क में संख्यात्मक मानों के बारे में पूछ रहे हैं? मास्क में संख्यात्मक मानों के बारे में – Aurelius

+0

। – jsalvador

+0

क्या आपको कभी भी '0' या' 1' के अलावा अन्य मान मिलते हैं? – Aurelius

उत्तर

10

मुखौटा findHomography द्वारा दिया है एक 8 बिट, एकल-चैनल cv::Mat (या std::vector<uchar>, यदि आप चाहें) या तो 0 या 1 बाहरी संकेत युक्त स्थिति।

संपादित करें: आप .at<double> पर कॉल करके मास्क के प्रत्येक तत्व तक पहुंचते हैं, जो भ्रमित आउटपुट की ओर अग्रसर है। आपको का उपयोग करना चाहिए, जो मैट्रिक्स मान को सही तरीके से समझेंगे।

+0

मास्क के मानों को क्यूस्ट्रिंग में कनवर्ट करने के लिए मैं प्रत्येक मैट्रिक्स फ़ील्ड के लिए निम्न का उपयोग करता हूं: 'QString :: संख्या (mask.at (i, j)) ' – jsalvador

+0

अच्छा, यह गलती थी। आपका बहुत बहुत धन्यवाद! – jsalvador

+1

मैं मूल्य का उपयोग करके सही तरीके से प्रिंट नहीं कर सकता: 'mask.at (0, 0)'। यह मानों के साथ एक छोटे मैट्रिक्स आइकन को प्रिंट करता है "0 0, 0 1" ... क्या आप जानते हैं क्यों? – JonesV

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