मैं एक ऐसे एप्लिकेशन को डिज़ाइन कर रहा हूं जिसमें ओपनजीएल प्रसंस्करण पाइपलाइन (शेडर्स का संग्रह) है और साथ ही अंतिम उपयोगकर्ता को अनप्रोसेस्ड कैमरा पूर्वावलोकन देखने की आवश्यकता है।एक साथ कैमरा पूर्वावलोकन और प्रसंस्करण
उदाहरण के लिए, मान लीजिए कि आप उपयोगकर्ता को कैमरा पूर्वावलोकन दिखाना चाहते हैं और साथ ही कैमरे से प्राप्त दृश्यों में लाल वस्तुओं की संख्या की गणना भी करते हैं, लेकिन किसी भी शेडर्स का उपयोग आप वस्तुओं को गिनने के लिए करते हैं ह्यू फ़िल्टरिंग आदि के रूप में उपयोगकर्ता द्वारा नहीं देखा जाना चाहिए।
मैं इसे ठीक से स्थापित करने के बारे में कैसे जाउंगा?
मुझे पता है कि मैं एक कैमरा पूर्वावलोकन सेट कर सकता हूं और फिर कॉलबैक पर वाईयूवी प्रारूप में कैमरा फ्रेम डेटा प्राप्त कर सकता है, फिर उसे ओपनजीएल बनावट में डंप करें और उस तरह से फ्रेम को संसाधित करें, हालांकि, इसमें इसके साथ प्रदर्शन की समस्याएं हैं। मुझे कैमरे के हार्डवेयर से डेटा को वीएम तक ले जाना है, फिर इसे वापस GPU मेमोरी में पास करना होगा। मैं सीधे कैमरे से ओपनजीएल समझने योग्य प्रारूप में डेटा प्राप्त करने के लिए SurfaceTexture
का उपयोग कर रहा हूं और इस समस्या को हल करने के लिए अपने शेडरों को पास कर रहा हूं।
मैंने सोचा कि मैं कि एक ही असंसाधित SurfaceTexture
अंतिम उपयोगकर्ता को दिखाने में सक्षम होना चाहते हैं, लेकिन TextureView
एक निर्माता या एक सेटर जहां मैं इसे SurfaceTexture
मैं इसे प्रस्तुत करना चाहता हूँ पारित कर सकते हैं नहीं है। यह हमेशा अपना खुद का बनाता है।
- GLRenderThread:
यह मेरे वर्तमान सेटअप का संक्षिप्त विवरण है इस वर्ग थ्रेड से फैली हुई है, ओपन संदर्भ, प्रदर्शन, आदि setups और सतह के रूप में एक SurfaceTexture (eglCreateWindowSurface 3 पैरामीटर) का उपयोग करता है।
- जीएलफ़िल्टर चेन: इनपुट बनावट पर पहचान करने वाले शेडरों का संग्रह।
- कैमरा: एक अलग SurfaceTexture जो GLFilterChain के इनपुट के रूप में प्रयोग किया जाता है एक TextureView GLRenderThread के SurfaceTexture को प्रदर्शित करता है कि
जाहिर है, इस सेटअप के साथ, मैं दिखा रहा हूँ उपयोग करता है और पकड़ लेता है कैमरे के पूर्वावलोकन
मुझे लगता है कि मुझे शायद 2 जीएल संदर्भों का उपयोग करने की आवश्यकता है, एक वास्तविक समय पूर्वावलोकन के लिए और एक प्रसंस्करण के लिए, लेकिन मुझे यकीन नहीं है। मुझे उम्मीद है कि कोई मुझे सही दिशा में धक्का दे सकता है।
http://stackoverflow.com/questions/12519235/modifying-camera-output-using-surfacetexture-and-opengl –