2010-11-24 5 views
5

मैंने कुछ बार गुगल किया है, लेकिन मुझे सीधे जवाब नहीं मिला है। मेरे पास एक मैट्रिक्स है जो मैं एक अलग फ़िल्टर (जैसे किनारे का पता लगाने के लिए सोबेल ऑपरेटर) के साथ घूमना चाहता हूं। क्या आईफोन पर ओपनजीएल ईएस के साथ त्वरित तरीके से ऐसा करना संभव है?आईफोन पर ओपनजीएल ईएस के साथ एक छवि को कनवॉल करना: संभव है?

यदि यह है, तो कैसे? यदि ऐसा नहीं है, तो क्या अन्य उच्च प्रदर्शन वाली चालें हैं जिनका उपयोग मैं ऑपरेशन को तेज करने के लिए कर सकता हूं? जादूगर एआरएम असेंबली ऑपरेशंस जो इसे तेजी से कर सकता है? आखिरकार मैं एक आईफोन के एआरएम प्रोसेसर पर जितना संभव हो सके एक रूपांतरण के रूप में प्रदर्शन करना चाहता हूं।

+0

ईएस 1.1, या 2.0? – genpfault

+0

जो भी आईफोन 4 और आईओएस 4.1 समर्थन, जो मुझे विश्वास है ओपनजीएल ईएस 2.0 – gonzojive

उत्तर

14

आप OpenGL ES 2.0 के तहत प्रोग्राम करने योग्य शेडर्स का उपयोग करके ऐसा करने में सक्षम होना चाहिए। मैं iTunes U पर अपनी कक्षा के लिए वीडियो में ओपनजीएल ईएस 2.0 शेडर्स का अधिक विस्तार से वर्णन करता हूं।

हालांकि मैंने छवि संकल्प स्वयं नहीं किया है, मै मैक और आईओएस here के लिए कुछ जीपीयू-त्वरित छवि प्रसंस्करण का वर्णन करता हूं। मैं sample application प्रस्तुत करता हूं जो जीएलएसएल शेडर्स (ऐप्पल द्वारा विकसित कोर छवि फ़िल्टर के आधार पर) का उपयोग करता है जो आईफोन की कैमरा फीड से रीयलटाइम कलर ट्रैकिंग करता है।

चूंकि मैंने यह लिखा है, मैंने उपरोक्त उदाहरण के आधार पर open source framework बनाया है जिसमें अंतर्निहित छवि रूपांतरण फ़िल्टर है, जो सोबेल एज डिटेक्शन से लेकर कस्टम 3x3 रूपांतरण कर्नेल तक है। ये सीपीयू-बाध्य कार्यान्वयन से 100X तेज तक चला सकते हैं।

हालांकि, अगर आप इसे सीपीयू पर करना चाहते हैं, तो आप आईफोन की नीयन सिम इकाई पर कुछ संचालन चलाने के लिए Accelerate framework का उपयोग करने में सक्षम हो सकते हैं। विशेष रूप से, एफएफटी ऑपरेशंस (जो आमतौर पर छवि रूपांतरण फिल्टर में एक प्रमुख घटक होते हैं, या इसलिए मैंने सुना है) ऐप्पल यहां प्रदान की जाने वाली दिनचर्या का उपयोग कर ~ 4-5X स्पीडअप प्राप्त कर सकता है।

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