2012-05-03 21 views
6

क्या मैं ओपनसीवी के सीवीडीएफटी (http://goo.gl/YCHj0) के बजाय FFTW (http://www.fftw.org/) का उपयोग करते समय एक गति की उम्मीद कर सकता हूं?एफएफटीडब्ल्यू बनाम ओपनसीवी सीवीडीएफटी

मेरे प्रोग्राम का रनटाइम उलटा और आगे डीएफटी के अनुप्रयोग द्वारा भारी रूप से निर्धारित किया जाता है और मैं ओपनसीवी सीवीडीएफटी के बजाय एफएफटीडब्ल्यू का उपयोग करने के बारे में सोच रहा हूं।

आईआईआरसी एफएफटीडब्ल्यू किसी प्रकार का "रनटाइम संकलन" करता है जबकि सीवीडीएफटी एक साधारण एफएफटी कार्यान्वयन है, इसलिए मुझे लगता है कि यह मेरी प्रसंस्करण को थोड़ा बढ़ा सकता है।

तो इससे पहले कि मैं इसे अपने आप से बाहर कर रहा हूं, मैंने सोचा कि अगर कोई भी एक ही प्रश्न पर ठोकर खाए और इसे हल कर लें।

अग्रिम

उत्तर

11

धन्यवाद मैं दोनों (OpenCV और FFTW) का इस्तेमाल किया है और आप FFTW OpenCV में सरल कार्यान्वयन की तुलना में तेजी होने की उम्मीद कर सकते हैं (कितना निश्चित रूप से आपका प्रोसेसर और छवि आकार पर बहुत कुछ निर्भर करता है)। हालांकि, अगर आप वाणिज्यिक रूप से अपने सॉफ्टवेयर का उपयोग करने की योजना बनाते हैं तो एफएफटीडब्ल्यू का एक महंगा लाइसेंस ($ 7500.00) है। वाणिज्यिक मामले में, मैं एफएफटीडब्ल्यू पर Intel's IPP की सिफारिश करता हूं क्योंकि प्रदर्शन एक अधिक किफायती लाइसेंस ($ 199.00) के समान है + आप एफएफटीडब्ल्यू (यानी, केवल एक एफएफटी लाइब्रेरी) के साथ आईपीपी में अधिक कार्यक्षमता प्राप्त करते हैं।

Here एफएफटीडब्ल्यू और विभिन्न प्रतियोगी पुस्तकालयों के बीच कई मानक हैं। परिणाम पुराने हैं, लेकिन तुलना के लिए उपयोगी हैं। मुझे यकीन नहीं है कि आईपीपी 2 डी ट्रांसफॉर्म क्यों शामिल नहीं हैं (शायद जब ये बेंचमार्क किए गए थे तो वे अभी तक मौजूद नहीं थे)।

यदि आप आईपीपी मार्ग पर जाते हैं, तो आप आईपीपी समर्थन के साथ ओपनसीवी बना सकते हैं और यह आईपीपी समकक्ष के साथ देशी cvDFT कार्यान्वयन को स्वैप कर देगा। यह आपको एक अच्छा प्रदर्शन बढ़ावा देगा (विशेष रूप से इंटेल चिप्स पर), और आपको अपना कोड बदलना नहीं है।

+0

बहुत बहुत धन्यवाद! मैं पहले आईपीपी पुनर्मूल्यांकन की कोशिश करूंगा। हालांकि, उन लाइसेंसिंग मुद्दों की जांच करने की आवश्यकता है। –

+0

कोई समस्या नहीं! आशा है कि आपको लगता है कि आपकी जरूरतों के लिए आईपीपी पर्याप्त तेज़ है! यह नवीनतम इंटेल कोर-आई 7 चिप्स पर सबसे अच्छा प्रदर्शन करेगा। – mevatron