2010-10-14 12 views
16

मैंने देखा कि किसी ने एक ऐप बनाया है जो कैमरे का उपयोग करके अपने पैरों को ट्रैक करता है, ताकि आप अपनी आईफोन स्क्रीन पर वर्चुअल फुटबॉल ला सकें।आईफोन के कैमरे का उपयोग करके आप गति को कैसे ट्रैक कर सकते हैं?

आप ऐसा कुछ कैसे कर सकते हैं? क्या किसी को ऑब्जेक्ट का पता लगाने और उन्हें ट्रैक करने के लिए आईफोन कैमरा का उपयोग करने के बारे में किसी भी कोड उदाहरण या अन्य जानकारी के बारे में पता है?

उत्तर

32

मैं सिर्फ मैं कहाँ iPhone के कैमरे के उपयोग ओपन ES 2.0 शेडर का उपयोग करने के लिए एक रंगीन वस्तु ट्रैक करने के लिए प्रदर्शन किया SecondConf पर एक भाषण दिया। सभी लोगों के लिए मेरी स्लाइड और नमूना कोड सहित उस बात के साथ पोस्ट here पाया जा सकता है।

नमूना आवेदन मैंने लिखा है, जिसका कोड here से डाउनलोड किया जा सकता है, डब्ल्यूडब्ल्यूडीसी 2007 में कोर छवि का प्रदर्शन करने के लिए ऐप्पल द्वारा उत्पादित एक उदाहरण पर आधारित है। उस उदाहरण को Chapter 27 of the GPU Gems 3 book में वर्णित किया गया है।

मूल विचार यह है कि आप वास्तविक समय में iPhone कैमरे से छवियों को संसाधित करने, निर्धारण जो किसी दिए गए सीमा के भीतर लक्ष्य रंग से मेल खाते हैं पिक्सेल कस्टम GLSL shaders का उपयोग कर सकते है। तब उन पिक्सेल में उनके सामान्यीकृत एक्स, वाई निर्देशांक होते हैं जो उनके लाल और हरे रंग के रंग घटकों में एम्बेडेड होते हैं, जबकि अन्य सभी पिक्सेल काले रंग के रूप में चिह्नित होते हैं। पूरे फ्रेम का रंग तब रंगीन ऑब्जेक्ट का केंद्र प्राप्त करने के लिए औसत होता है, जिसे आप ट्रैक कर सकते हैं क्योंकि यह कैमरे के दृश्य में चलता है।

इस एक पैर की तरह एक अधिक जटिल वस्तु पर नज़र रखने के मामले का समाधान नहीं करता है, इस तरह shaders कि बाहर इस तरह के एक चलती वस्तु ले सकता है लिखा जा करने में सक्षम होना चाहिए।

उपरोक्त के अपडेट के रूप में, मैंने इसे लिखने के दो वर्षों में अब मैंने an open source framework विकसित किया है जो छवियों और वीडियो के ओपनजीएल ईएस 2.0 शेडर प्रोसेसिंग को समाहित करता है। उसमें हालिया जोड़ों में से एक GPUImageMotionDetector क्लास है जो एक दृश्य को संसाधित करता है और इसमें किसी भी प्रकार की गति का पता लगाता है। यह आपको एक सरल कॉलबैक ब्लॉक के हिस्से के रूप में पहचानने वाली समग्र गति के केंद्र और तीव्रता को वापस देगा। ऐसा करने के लिए इस ढांचे का उपयोग करना अपने स्वयं के समाधान को रोल करने से बहुत आसान होना चाहिए।

+0

वाह, बहुत सम्मान! यदि आप दिमाग में नहीं हैं, तो मैं इसका उपयोग करूँगा,) – Eimantas

+0

यह अच्छा है .. क्या इस के साथ एक्सबॉक्स किनेटिक जैसे इंटरफ़ेस बनाना संभव है? :) मैं अपने आईफोन ऐप जैसे http://www.soundstep.com/blog/experiments/jsdetection/ में डालने के लिए एक तेज़ हल्के कोड की तलाश कर रहा हूं .. अगर यह मोबाइल वेब के साथ संभव होगा तो –

+1

@CarlLindberg - किनेक्ट एक पर्यावरण के 3-डी मैपिंग करने के लिए अनुमानित संरचित आईआर लाइट का उपयोग करता है, इसलिए आप स्पष्ट रूप से किसी आईओएस डिवाइस में रंगीन कैमरे से मेल नहीं खा रहे हैं। क्रूड मोशन डिटेक्शन अब तक हाथों या उंगलियों को ट्रैक नहीं कर रहा है, और इसके लिए आपको ऑप्टिकल फ्लो या ऑब्जेक्ट ट्रैकिंग तकनीकों का पता लगाने की आवश्यकता होगी। लाइव वीडियो पर काम करने के लिए उन्हें काफी चुनौती होगी। –

3

आईफोन पर ओपनसीवी का उपयोग करके मुझे कुछ सफलतापूर्वक चेहरे और आंखें ट्रैक कर रही हैं। http://niw.at/articles/2009/03/14/using-opencv-on-iphone/en

मैं चाल एक झरना (क्या कैमरे की तलाश में किया जाना चाहिए का वर्णन) है कि एक पैर, वास्तव में यकीन नहीं वर्णन करता है कि अगर हालांकि मौजूद हो रही है लगता है: यहाँ शुरू करने के लिए एक अच्छी जगह है।

+1

क्या ओपनसीवी रीयलटाइम में ट्रैक करने के लिए उपयोग किया जा सकता है? लिंक किया गया आलेख इंगित करता है कि एक 480 x 320 छवि में चेहरे को पहचानने में 10 सेकंड तक लगते हैं। –

+0

मैंने छोटे नमूना आकार AVCaptureSessionPresetLow का उपयोग करके रीयलटाइम में एक चेहरे को ट्रैक करने के लिए आईफोन 3 जीएस पर कोरविडियो फ्रेमवर्क का उपयोग किया है। मैं लगातार 4 एमएस के नीचे आंखों का पता लगाने में सक्षम था। – aegzorz

+0

यह बहुत अच्छा लगता है, मुझे नहीं लगता कि आप नमूना चाहते हैं? – Burf2000

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

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