2012-07-13 12 views
6

के साथ पैकेजिंग ओपनसीवी तो मैं ओपनसीवी का उपयोग करने वाले ऐप के विकास में किस भाषा का उपयोग करना चाहता हूं, इस पर विचार कर रहा हूं। मेरे निर्णय के एक हिस्से के रूप में, मुझे यह जानने में दिलचस्पी है कि अंतिम ऐप में ओपनसीवी लाइब्रेरी को शामिल करना कितना आसान/मुश्किल है। मैं वास्तव में इसे पायथन में लिखना चाहता हूं क्योंकि ओपनसीवी बाइंडिंग बहुत अच्छी हैं, पायथन आसान है, आदिएक पायथन ऐप

लेकिन मुझे सामानों पर स्पष्ट उत्तर नहीं मिला है "क्या py2app स्वचालित रूप से ओपनसीवी को बंडल करता है जब यह देखता है आयात सीवी लाइन "(मुझे नहीं लगता) और यदि नहीं, तो क्या ऐसा करने का कोई ज्ञात तरीका है?

सामान्य रूप से, मैं ओपनसीवी के साथ एक पायथन डेस्कटॉप ऐप वितरित करने का सबसे अच्छा तरीका जानना चाहता हूं।

+0

ओपनसीवी के साथ पायथन का उपयोग करते समय मुझे मिली समस्या यह है कि कई ट्यूटोरियल नहीं हैं, इसलिए आपको दस्तावेज़ों पर भारी भरोसा करना होगा। –

उत्तर

1

मैंने प्रभावी ढंग से पैक किया है, तैनात किया है, और सीईएफएफज़ के साथ ओपनसीवी का उपयोग करके एक पाइथन ऐप भेज दिया है।

http://cx-freeze.sourceforge.net/

हाँ, cxFreeze ऑटो अप अजगर एक्सटेंशन OpenCV के लिए उठाया। मुझे ओपनसीवी डीएलएल (विंडोज) की मैन्युअल रूप से प्रतिलिपि बनाना था, लेकिन यह एक मामूली मुद्दा था जिसे सीएक्सफ्रीज़ में पोस्ट-प्रोसेसिंग चरण द्वारा हल किया जा सकता था। यह अन्य डीएलएल उठाता है, इसलिए मुझे यकीन नहीं है कि समस्या क्या थी।

असल में, यह बहुत अच्छा काम करता था मैं आश्चर्यचकित था। एकमात्र चीज जो ठीक से नहीं उठाई वह एक क्यूटी लाइब्रेरी थी।

  1. cxfreeze App.py --target-निर्देशिका अनुप्रयोग --base नाम Win32GUI --include-मॉड्यूल PySide: मूल रूप से यहां मेरे कदम (मैं क्यूटी का उपयोग कर रहा है, ताकि हिस्सा उपेक्षा करता है, तो आप नहीं कर रहे हैं) थे .QtNetwork
  2. ऐप निर्देशिका में opencv \ build \ x86 \ vc9 \ bin फ़ाइलों पर प्रतिलिपि बनाएँ।

यही है।

+0

मैंने ऐसा करने की कोशिश की है और पूरी तरह असफल रहा हूं। क्या आप अपना setup.py और cxfreeze चल रहे कमांड लाइन को साझा करना चाहते हैं? – mz2

0

आप http://www.pyinstaller.org/ पर देख सकते हैं यह बहुत अच्छा है और यह opencv के लिए आवश्यक डीएल पैकेज करता है।

इसे खोलने के लिए opencv के लिए py2exe भी पैकेज को numpy। यदि आप py2exe का उपयोग कर रहे हैं तो सुनिश्चित करें कि आप इसके लिए निर्भरता जोड़ते हैं।

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