2012-08-28 15 views
7

मैं ओपनसीवी से ट्यूटोरियल उदाहरणों में से एक को चलाने का प्रयास कर रहा हूं। यह फ़्लैन आधारित कुंजी बिंदु मिलान के उपयोग के साथ एक ज्ञात वस्तु खोजने के बारे में है। कोड Features2D + Homography to find a known object पर पाया जा सकता है।फ़्लैन फ़ंक्शन अनसुलझा बाहरी

मुझे पता है कि आप पूछेंगे "क्या आपने पुस्तकालयों को लिंक किया था?" या इसी तरह के सवाल। हां, मैं विभिन्न उदाहरणों के साथ 3 सप्ताह के लिए ओपनसीवी का उपयोग कर रहा हूं जो लगभग सभी पुस्तकालयों का उपयोग करता है। और इस दिन तक कोई समस्या नहीं थी।

इसलिए मैंने इन पुस्तकालय निर्भरताओं को विजुअल स्टूडियो की लिंकर इनपुट सेटिंग्स में जोड़ा। निर्देशिका शामिल भी ठीक काम कर रहे हैं।

C:\OpenCV2.4\lib\opencv_core242d.lib 
C:\OpenCV2.4\lib\opencv_highgui242d.lib 
C:\OpenCV2.4\lib\opencv_video242d.lib 
C:\OpenCV2.4\lib\opencv_ml242d.lib 
C:\OpenCV2.4\lib\opencv_legacy242d.lib 
C:\OpenCV2.4\lib\opencv_imgproc242d.lib 
C:\OpenCV2.4\lib\opencv_objdetect242d.lib 
C:\OpenCV2.4\lib\opencv_flann242d.lib 
C:\OpenCV2.4\lib\opencv_nonfree242d.lib 
C:\OpenCV2.4\lib\opencv_calib3d242d.lib 

मुझे मिली त्रुटि एक लिंकर त्रुटि है। यह फ़्लैन के कार्यों को हल नहीं कर सकता है।

1>------ Build started: Project: flannMatch, Configuration: Debug Win32 ------ 
1>flannMatch.obj : error LNK2019: unresolved external symbol "void __cdecl cv::drawMatches(class cv::Mat const &,class std::vector<class cv::KeyPoint,class std::allocator<class cv::KeyPoint> > const &,class cv::Mat const &,class std::vector<class cv::KeyPoint,class std::allocator<class cv::KeyPoint> > const &,class std::vector<struct cv::DMatch,class std::allocator<struct cv::DMatch> > const &,class cv::Mat &,class cv::Scalar_<double> const &,class cv::Scalar_<double> const &,class std::vector<char,class std::allocator<char> > const &,int)" ([email protected]@@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@[email protected]@@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@[email protected]@@[email protected]@[email protected]@[email protected][email protected][email protected]@[email protected]@@[email protected]@Z) referenced in function _main 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: void __thiscall cv::DescriptorMatcher::match(class cv::Mat const &,class cv::Mat const &,class std::vector<struct cv::DMatch,class std::allocator<struct cv::DMatch> > &,class cv::Mat const &)const " ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@[email protected]@@[email protected]@[email protected]) referenced in function_main 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: __thiscall cv::FlannBasedMatcher::FlannBasedMatcher(class cv::Ptr<struct cv::flann::IndexParams> const &,class cv::Ptr<struct cv::flann::SearchParams> const &)" ([email protected]@@[email protected][email protected]@[email protected]@@@[email protected][email protected]@[email protected]@@@[email protected]@Z) referenced in function _main 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: void __thiscall cv::DescriptorExtractor::compute(class cv::Mat const &,class std::vector<class cv::KeyPoint,class std::allocator<class cv::KeyPoint> > &,class cv::Mat &)const " ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@[email protected]@@[email protected]@[email protected]@Z) referenced in function _main 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: void __thiscall cv::FeatureDetector::detect(class cv::Mat const &,class std::vector<class cv::KeyPoint,class std::allocator<class cv::KeyPoint> > &,class cv::Mat const &)const " ([email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@[email protected]@@[email protected]@[email protected]) referenced in function _main 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall cv::DescriptorMatcher::~DescriptorMatcher(void)" ([email protected]@@[email protected]) referenced in function "public: virtual __thiscall cv::FlannBasedMatcher::~FlannBasedMatcher(void)" ([email protected]@@[email protected]) 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall cv::DescriptorMatcher::DescriptorCollection::~DescriptorCollection(void)" ([email protected]@[email protected]@[email protected]) referenced in function "public: virtual __thiscall cv::FlannBasedMatcher::~FlannBasedMatcher(void)" ([email protected]@@[email protected]) 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall cv::FeatureDetector::~FeatureDetector(void)" ([email protected]@@[email protected]) referenced in function "public: virtual __thiscall cv::Feature2D::~Feature2D(void)" ([email protected]@@[email protected]) 
1>flannMatch.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall cv::DescriptorExtractor::~DescriptorExtractor(void)" ([email protected]@@[email protected]) referenced in function "public: virtual __thiscall cv::Feature2D::~Feature2D(void)" ([email protected]@@[email protected]) 

मुझे यह भी पता है कि सर्फ और छान-बीन करना यहाँ प्रश्नों में से एक के लिए, nonfree ले जाया गया था धन्यवाद। पहली नज़र में मैंने सोचा कि ऐसा इसलिए हो सकता है क्योंकि मेरे पास ओपनसीवी (2.2 और 2.4) का दो संस्करण है और इस प्रकार यह एक फर्क पड़ रहा था। इसलिए मैंने 2.2 हटा दिया और एक और प्रोग्राम चलाने की कोशिश की। यह ठीक काम कर रहा था लेकिन फिर भी यह त्रुटि नहीं चली गई।

तो मेरा सवाल, मैं यहां क्या खो रहा हूं? क्या कोई अन्य लाइब्रेरी निर्भरता है? यह क्या है कि मैं नहीं देख सकता? किसी भी मदद की सराहना की है।

- संपादित -

मैं इसे कैसे नहीं देख सकता था? मुझे इस तरह एक आसान सवाल पोस्ट करने के लिए वास्तव में खेद है। मैं इतना बेवकूफ महसूस कर रहा हूं। मैं इस निर्भरता को जोड़ना भूल गया था।

C:\OpenCV2.4\lib\opencv_features2d242d.lib 

मुझे नहीं लगता कि कोई भी इसे फिर से याद करेगा।

+0

आप पहले नहीं हैं, न ही आखिरी व्यक्ति जो प्रश्न पोस्ट करने के तुरंत बाद जवाब पाएंगे :)। हमारे साथ जवाब साझा करने के लिए धन्यवाद। – bjoernz

+0

हालांकि, एक उत्तर को * उत्तर * के रूप में साझा किया जाना चाहिए, प्रश्न के भाग के रूप में नहीं। –

+0

मुझे पता है लेकिन प्रतिष्ठा के कारण, मैं 8 घंटे बीतने तक अपने सवालों का जवाब नहीं दे सकता। अभी भी 6 घंटे जाने के लिए: डी – yutasrobot

उत्तर

2

मैं इसे कैसे देख सकता हूं? मुझे इस तरह एक आसान सवाल पोस्ट करने के लिए वास्तव में खेद है। मैं इतना बेवकूफ महसूस कर रहा हूं। मैं इस निर्भरता को जोड़ना भूल गया था।

C:\OpenCV2.4\lib\opencv_features2d242d.lib 

मुझे नहीं लगता कि कोई भी इसे फिर से याद करेगा।

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