2012-12-04 9 views
10

मैं opencv 2.4.3 का उपयोग कर रहा वेक्टर प्रदर्शन करने के लिए निम्नलिखित कोड का उपयोग कर रूपांतरण मैट्रिक्स में चटाई:परिवर्तित वेक्टर OpenCV

struct Component 
{ 
    cv::Rect box; 
    double area; 
    double circularity; 
} 

int main (...) 
{ 
    cv::vector <Component> components;   
    cv::Mat componentMat (components, true); 
    std::cout << componentMat; 
    return 0; 
} 

लेकिन यह कह रही है एक त्रुटि देता है,:

OpenCV Error: Unsupported format or combination of formats() in unknown function, file ...\opencv\modules\core\src\out.cpp, line 111 

मुझसे यहां क्या गलत हो रहा है? क्या इस वेक्टर को मैट्रिक्स रूप में बदलने के लिए कोई और तरीका है? धन्यवाद।

+0

क्या आप इस प्रश्न पर विस्तार कर सकते हैं, आपको यह रूपांतरण क्यों करने की आवश्यकता है, आप ओपनसीवी में एक मैट्रिक्स बना सकते हैं और यदि यह मदद करता है तो इसे एक वेक्टर के रूप में संभाल सकता है। लेकिन मुझे लगता है कि आप एक मैट्रिक्स बना रहे हैं और इसे एक मैट्रिक्स में परिवर्तित करना चाहते हैं। क्या आप एक परिदृश्य प्रदान कर सकते हैं कि आपको –

+0

क्यों चाहिए, वास्तव में मैं इसे अपने दूसरे कार्य के लिए उपयोग कर रहा हूं, जो मेरे प्रश्न में समाप्त हो गया है। –

+0

मैं इस cuz से पूछ रहा हूं शायद इसके चारों ओर एक रास्ता है, अभी मैं यहां उत्तर देने के अलावा कोई रास्ता नहीं देख सकता, यानी एक वेक्टर को मैट्रिक्स के रूप में संभालता हूं जो इस मामले में एक nx1 मैट्रिक्स होगा। क्या आप हमें बता सकते हैं कि कौन सा फ़ंक्शन वेक्टर आउटपुट करता है और कौन सा फ़ंक्शन मैट्रिक्स को इनपुट के रूप में उपयोग करता है? –

उत्तर

16

the documentation में चटाई निर्माता, जिसमें वे कहते हैं कि जो वेक्टर के प्रकार समर्थित हैं के लिए एक संदर्भ है:

"निर्माता मनमाना प्रकार है, जिसके लिए ठीक से घोषित डेटा प्रकार है, यानी संभाल कर सकते हैं वेक्टर तत्व संख्यात्मक संख्या या संख्याओं के यूनी-टाइप संख्यात्मक tuples होना चाहिए। मिश्रित प्रकार संरचनाएं समर्थित नहीं हैं। "

तो प्रकार आप उपयोग कर रहे समर्थित नहीं है और इसलिए आपको कोई त्रुटि मिलती।

3

आप "घटकों" प्रकार के मैट्रिक्स बनाने की कोशिश कर रहे हैं। यह काम नहीं करेगा। मैट केवल विशिष्ट डेटा प्रकारों का समर्थन करता है, जैसे प्वाइंट 2 डी, प्वाइंट 3 डी इत्यादि। यदि आप उनके साथ प्रयास करते हैं, तो इसे काम करना चाहिए।