2012-07-20 13 views
10

मैं वर्तमान में कंप्यूटर विजन कोर्स में हूं और मेरी अंतिम परियोजना के लिए मैं एक छोटा सा गेम बनाने जा रहा हूं जो किनेक्ट के साथ बातचीत करता है।मैं जावा का उपयोग कर किनेक्ट तक कैसे पहुंच सकता हूं?

अब मैं जावा में यह गेम बनाना चाहता हूं क्योंकि मैंने वास्तव में पहले गेम बनाने में कभी भी काम नहीं किया है और मैं भाषा के साथ बहुत सहज हूं। लेकिन मुझे गहराई डेटा तक पहुंचने का कोई तरीका नहीं दिख रहा है (मुझे बस इसे कुछ जावा डेटा संरचना में पैक करने की आवश्यकता है) और आरजीबी डेटा (एक ही विचार)।

अभी, मैं Kinect के लिए 'बात' के लिए एक रास्ता है। मैंने this ट्यूटोरियल का पालन किया और टर्मिनल में glview कमांड का उपयोग कर किनेक्ट का पता लगा सकता है।

मैं जो मुझे Kinect का उपयोग करने देने के लिए एक जावा पुस्तकालय होना करने का वादा किया एक बात Processing कहा जाता है, लेकिन यह उपयोग कर रहा है यह ही भाषा है जो जावा का उपयोग कर तो यह वास्तव में जावा नहीं है जिसका मतलब है कि मैं सभी उपयोग नहीं कर सकते 'बनाया' है जीयूआई और सामान्य जावा विशेषताएं।

मैं जावा प्रोग्राम के शीर्ष पर कुछ import random.Kinect.code; पर कॉल करना चाहता हूं जो मुझे सबसे बुनियादी किनेक्ट सुविधाओं का उपयोग करने देता है, जैसे getDepth() या getRGB() और जावा में सब कुछ करें।

किसी को भी एक तरह से मैं यह कर सकता पता है? (बीटीडब्ल्यू मैं मैक ओएसएक्स शेर चला रहा हूं)

+0

क्या यह जावा का उपयोग करके इंटरफेसिंग की तरह है? –

+0

यदि ओपनकिनेक्ट आपकी बात है, [जावासीवीप्रो] (http://www.mon-club-elec.fr/pmwiki_reference_lib_javacvPro/pmwiki.php) काम करना चाहिए ... –

उत्तर

7

आप प्रसंस्करण मैं उपलब्ध रैपर में से एक का उपयोग करना चाहिये उपयोग कर रहे हैं:

  • डैनियल Shiffman के OpenKinect Processing (का उपयोग कर openkinect/libfreenect)
  • SimpleOpenNI - का संसाधन OpenNI आवरण

दोनों अच्छी तरह से प्रलेखित हैं और बहुत उपयोगी उदाहरण शामिल हैं।

simpleOpenNI sample

+0

अच्छी तरह से यह बात है, मेरे पास प्रसंस्करण है लेकिन यह जावा का कुछ अजीब रूप है, क्या आप जानते हैं कि यह जावा भाषा के पूर्ण स्पेक्ट्रम का उपयोग अजीब अलग वाक्यविन्यास/शॉर्टकट के शीर्ष पर कर रहा है या नहीं? – Alex

+0

मैंने प्रसंस्करण आईडीई और ग्रहण में ओएसएक्स 10.6 पर इन पुस्तकालयों का उपयोग किया है। आपका सेटअप क्या है? आपको या तो प्रसंस्करण का उपयोग करने के लिए ठीक होना चाहिए या जावा प्रोजेक्ट में लाइब्रेरी के रूप में इसका इस्तेमाल करना चाहिए। ग्रहण के लिए, [Proclipsing] (http://code.google.com/p/proclipsing) पर एक नज़र डालें या बस जावा प्रोजेक्ट बनाएं और प्रसंस्करण के core.jar का उपयोग करें यदि आप इसे 'मैन्युअल' से निपटना चाहते हैं। –

+0

मैं इसे एक साधारण पाठ संपादक और कमांड लाइन के साथ प्रोग्राम करना चाहता हूं, मैंने ओपनकिनेक्ट (libfreenect) जावा रैपर में टैप करने के तरीके को खोजकर कुछ हेडवे बनाया है। जिसमें मूल रूप से किसी भी तरह से संकलन शामिल था जिसमें उनके दो जार शामिल थे। <- जैसा कि आप देख सकते हैं कि मैं इनमें से अधिकांश प्रोग्रामिंग अवधारणाओं के लिए काफी नया हूं .. क्या मैं किसी भी तरह से प्रसंस्करण के 'core.jar' में टैप करने में सक्षम हूं जैसा कि आपने अभी वर्णित एक जैसा तरीके से कहा था और बस एक का उपयोग करें मेरे जावा कार्यक्रम में उनके कुछ तरीके? यदि ऐसा है तो आप मेरी मदद करने और समझाने की कोशिश कर सकते हैं कि मैं यह कैसे कर सकता हूं? अब तक की गई सहायता के लिए धन्यवाद! – Alex

1

मैं आपको कुछ विचार दूंगा, लेकिन मैं मानता हूं - मैंने उन्हें किनेक्ट के साथ कोई प्रयास नहीं किया।
आप प्रश्न "जावा के माध्यम से कुछ हार्डवेयर तक पहुंचने के तरीके" के प्रश्नों के तहत वर्गीकृत किए जा सकते हैं। आपने जो ट्यूटोरियल प्रस्तुत किया है, वह किनेक्ट तक पहुंचने के लिए पुस्तकालय प्रस्तुत करता है, और यहां तक ​​कि पायथन के लिए रैपर भी प्रस्तुत करता है।
आप क्या कर सकते हैं यह देखते हैं कि पाइथन कोड रैपर को कैसे कार्यान्वित करता है, और अपने स्वयं के रैपर बनाने के लिए या तो जेएनआई/जेएनए का उपयोग करता है।
इसके अलावा, मैंने JNect प्रोजेक्ट में देखा, जिसका उल्लेख यहां किसी अन्य उत्तर में किया गया है, जिसे @npinti द्वारा पोस्ट किया गया है।
ग्रहण प्लगइन के दो भाग हैं -
जेएनआई कोड, जो थियो रिगिनल एसडीके कोड लपेटता है, और ग्रहण प्लगइन के लिए Ecipse आरसीपी कोड स्वयं।
मैं आपको ग्रहण आरसीपी भाग को अनदेखा करने की सलाह दूंगा, और अपने जेएनआई कार्यान्वयन पर ध्यान केंद्रित करने के लिए आपको अपने जेएनआई कार्यान्वयन पर ध्यान केंद्रित करने की सलाह दूंगा।
भले ही यह विंडोज-आधारित कार्यान्वयन है (यानी - किनेक्ट एसडीके विंडोज़ पर काम करता है, और आपको मैक पर अपना कोड चलाने की ज़रूरत है) - मुझे लगता है कि उनके कोड को पढ़कर + कुछ जेएनआई ट्यूटोरियल + पाइथन रैपर आपके द्वारा प्रदान किया गया लिंक आपको समझ जाएगा कि आपके द्वारा प्रदान किए गए लिंक में प्रस्तुत लाइब्रेरी में जेएनआई रैपर कैसे बनाया जाए।
इसके अलावा,, हार्डवेयर के साथ संवाद करने के तरीके के रूप JNA और नहीं JNI उपयोग करने पर विचार मैं यह आसान लगता है।
एक अंतिम विकल्प शायद Java Script Engine का उपयोग करने और अपने जावा वोड से पायथन कोड (पायथन रैपर) का आह्वान करने के लिए है - यह सुनिश्चित न करें कि यह आपकी मदद करेगा, लेकिन आप इसे एक शॉट दे सकते हैं।

+0

दुर्भाग्य से ऐसा लगता है कि मैंने पूरे * विंडोज 7 केवल * सौदे को याद किया ... इससे निपटने के लिए ओपी विंडोज आधारित वर्चुअल मशीन का उपयोग करने पर विचार कर सकता है। – npinti

2

मैं बिल्कुल वैसा ही समस्या थी। मैं अपने कंप्यूटर विजन रिसर्च के लिए जावा में किनेक्ट का उपयोग करना चाहता था, और मेरे पास मैक ओएसएक्स शेर था। जो समाधान मैंने पाया वह है मैक में विंडोज 7 की वर्चुअल कॉपी (वीएमवेयर या समांतर या माइक्रोसॉफ्ट हाइपरवी का उपयोग करके) चलाने के लिए और फिर open source J4K Java for Kinect library का उपयोग करें, जो कि जावा नेटिव इंटरफेस (जेएनआई) का उपयोग करते हुए किनेक्ट एसडीके के लिए जावा बाध्यकारी है। बेशक आप विंडोज़ चलाने वाले कंप्यूटरों में सीधे इस ओपन सोर्स लाइब्रेरी का भी उपयोग कर सकते हैं।

किनेक्ट के लिए जे 4 के जावा लाइब्रेरी में जावा कोड की केवल 10 पंक्तियों में एक किनेक्ट आधारित एप्लिकेशन लिखने के बारे में एक ट्यूटोरियल भी है।

कई स्रोत कोड उदाहरण भी हैं जो आपको बताते हैं कि किनेक्ट से गहराई, वीडियो और कंकाल डेटा कैसे पढ़ा जाए और जावा कक्षाओं में उनका उपयोग कैसे करें। आप कई किनेक्ट्स, एनिमेट अवतार और अन्य उदाहरणों का भी उपयोग कर सकते हैं। स्रोत कोड उदाहरणों का लिंक here है।

खुला स्रोत Kinect दर्शक है, जो आपके जैसे कंप्यूटर विजन अनुप्रयोगों के लिए उपयोगी है का एक स्क्रीनशॉट नीचे है: enter image description here

मुझे आशा है कि इस जानकारी में मदद की।

+0

क्या यह छवि प्रसंस्करण को धीमा नहीं करता है? मुझे लगता है कि आभासी मशीन के माध्यम से आने वाले डेटा को प्रदर्शित करने के लिए प्रदर्शन लागत होगी, है ना? – jorrebor

+0

मैंने इंटेल i5 के साथ जावा 7 में जे 4 के लाइब्रेरी का उपयोग किया है और वास्तविक समय (30fps) में बहुत गहन छवि प्रसंस्करण हासिल किया गया है। @ जोर्रेबर आप वास्तविक उदाहरणों पर एक नज़र डाल सकते हैं [डेमो 1] (https: // www।youtube.com/watch?v=DMRlhWSZSe8), [डेमो 2] (https://www.youtube.com/watch?v=RSLd-lSk9ts), और [डेमो 3] (https://www.youtube.com/watch ? v = zBSiiOIEiPI)। –

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