2012-11-02 16 views
12

मेरा ऐप ओपनसीवी के सीवी :: findContours को बाइनरी छवि पर उपयोग करता है। अब मुझे इसे रीयलटाइम बनाने की जरूरत है। GPUImage में एक cannyedge फ़िल्टर है लेकिन मुझे findContours से संबंधित कुछ भी नहीं मिला। क्या GPUImage में कुछ भी है जो मिलनसार के समान दिखता है? यदि नहीं, तो क्या कोई वैकल्पिक विकल्प सुझा सकता है? धन्यवादGPUImage सीवी के बराबर :: findContours

+5

वहां कुछ भी नहीं है जो अभी यह करता है। GPUs पर काम करने के लिए यह एक मुश्किल समस्या है। मैं हाल ही में इस तकनीक के लिए एक तकनीक पर शॉन ओ'कोनेल के पेपर के माध्यम से पढ़ रहा था: http://tp.heanet.ie/mirrors/sourceforge/g/gc/gccl/paper_draft.pdf लेकिन यहां तक ​​कि वहां उन्हें एक विशाल गति दिखाई नहीं दे रहा है जीपीयू पर जुड़े वस्तुओं को निर्धारित करने में। आधे रास्ते के उपाय के रूप में, आप जीपीयू पर पहले अपने किनारे का पता लगाने में सक्षम हो सकते हैं, फिर सीपीयू-बाध्य प्रसंस्करण के लिए इसके परिणाम पढ़ें। आप कम से कम उस से थोड़ा तेज गति प्राप्त करेंगे। –

+0

मुझे लगता है कि मैं उस मार्ग पर जाऊंगा। सीवी :: मैट में फ़िल्टर चलाने के बाद कच्चे बफर को कन्वर्ट करने का सबसे अच्छा/प्रभावी तरीका क्या है? मैंने इसे बदलने की कोशिश की -> UIImage -> cv :: Mat लेकिन यह बहुत लंबा लगता है। – 0xSina

+2

एक GPUImageRawDataInput आज़माएं, जहां आप कच्चे आरजीबीए (या बीजीआरए, मैं बाइट ऑर्डर भूल जाता हूं) डेटा को यूआईएममेज के लिए कोर ग्राफिक्स से गुज़रने के बिना फ़ीड करने में सक्षम होना चाहिए। –

उत्तर

0

2015. https://github.com/BradLarson/GPUImage/issues/2094

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

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