2012-05-05 13 views
8

मैं अपने सी ++ परियोजनाओं में से एक में ओएस एक्स शेर पर ओपनसीवी 2.3.1 का उपयोग कर रहा हूं। जबकि मेरी परियोजना बहुत अच्छी तरह से काम करती है, यह जेपीईजी डिकोडिंग और एन्कोडिंग पर भारी निर्भर करता है। मैं libjpeg-turbo का उपयोग करके एक गति प्राप्त करना चाहता हूं, लेकिन मुझे libjpeg-turbo से जोड़ने का सही तरीका नहीं मिल रहा है। मेरे हैकरी प्रयासों और मैं कौन सी फाइलों को संपादित करता हूं, इसके आधार पर, या तो मैं संकलन त्रुटियों के साथ या बेकार ओपनसीवी लाइब्रेरी के साथ समाप्त होता हूं (सबकुछ ठीक से संकलित करता है, लेकिन मैं जेपीईजी फाइलों को खोल या लिख ​​नहीं सकता, हालांकि सी ++ प्रोजेक्ट में कोई त्रुटि दिखाई नहीं दे रही है)।libjpeg-turbo के साथ OpenCV को संकलित कैसे करें?

क्या कोई यह बता सकता है कि आप ओपनसीवी को तेजी से जेपीईजी डिकोडिंग/एन्कोडिंग के लिए libjpeg-turbo के साथ कैसे संकलित कर सकते हैं?

उत्तर

17

libjpeg-turbo साथ OpenCV 2.4.0 निर्माण करने के लिए आप की जरूरत:

  1. निर्माण libjpeg-turbo एक स्थिर पुस्तकालय के रूप में निम्न आदेश के साथ
  2. कॉन्फ़िगर OpenCV:

cmake -DWITH_JPEG=ON -DBUILD_JPEG=OFF -DJPEG_INCLUDE_DIR=/path/to/libjepeg-turbo/include/ -DJPEG_LIBRARY=/path/to/libjpeg-turbo/lib/libjpeg.a /path/to/OpenCV

+1

OpenCV 2.3। 1 स्रोत संशोधन के बिना libjpeg-turbo के साथ नहीं बनाया जा सकता है। –

+0

देर से उत्तर के लिए धन्यवाद और मेरी माफ़ी। हालांकि यह पहली बार काम नहीं करता था, यह मुख्य रूप से उपयोगकर्ता त्रुटि के कारण था। कुल मिलाकर निष्पादन समय लगभग 30% कम हो गया है और वास्तविक जेपीईजी फ़ाइल खोलने और लिखने में 50% + सुधार हुआ है। – kvaruni

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