سؤال

أنا مهتم بكتابة بعض التعليمات البرمجية الرئيسية لوحدة التحكم Microsoft Kinect. لدي بعض التطبيقات التي أعتقد أنها ستترجم جيدًا إلى المنصة. لقد كنت ألعب مع فكرة إعطائها لقطة باستخدام سائقي ومكتبات OpenKinect. من الواضح أن هذا سيكون الكثير من العمل ، لكنني أتساءل كم. هل لدى أي شخص خبرة مع OpenKinect؟ هل تحصل على بيانات الفيديو/الصوت الخام فقط من الجهاز ، أم أن أي شخص كتب تجريدات أعلى مستوى لجعل المهام الشائعة أسهل؟

هل كانت مفيدة؟

المحلول

ال OpenKinect المكتبة هي في الأساس سائق - على الأقل في الوقت الحالي - لذلك لا تتوقع الكثير من الوظائف. ستحصل أكثر أو أقل على ملف مسودة بيانات من كل من عمق و ال فيديو كاميرات.
هذا هو في الأساس صفيف تم استلامه في وظيفة رد الاتصال في كل مرة يصل فيها إطار.

يمكنك تجربتها باتباع الإرشادات المقدمة على موقع OpenKinect, ، إنه سريع التثبيت وتجربته ، ويمكنك اللعب قليلاً مع glview التطبيق المقدم للتعرف على ما هو ممكن. لقد قمت بإعداد عدد قليل من العروض التوضيحية باستخدام opencv, ، وحصلت على نتائج رائعة على الرغم من أنه لم يكن لدي الكثير من الخلفية في رؤية الكمبيوتر ، لذا لا يمكنني إلا أن أشجعك على تجربتها بنفسك!

 
بالتناوب ، إذا كنت تبحث عن وظائف أكثر تقدمًا ، إطار OpenNi تم إصداره للتو هذا الأسبوع ويوفر بعض الخوارزميات ذات المستوى العالي المثير للإعجاب مثل تتبع الهيكل العظمي و البعض التعرف على الإيماءات. جزء من الإطار هو خوارزميات الملكية من Primesense (مثل وحدة تتبع الهيكل العظمي القوي ...). لم أجربها بعد ولا أعرف مدى دمجها مع Kinect و OS المختلفة ، ولكن نظرًا لأن مجموعة من اللاعبين من مجموعات مختلفة (OpenKinect ، Willow Garage ...) تعمل بجد عليها "لا ينبغي أن تكون". T كن مشكلة في غضون أسبوع.

نصائح أخرى

التفصيل أكثر حول ما كتبه جول أوليون ، لقد عملت مع OpenNi (http://www.openni.org) والخوارزميات أعلاه (Nite) ، وأنا أوصي بشدة باستخدام هذه الأطر. كلا الإطارين موثقة جيدًا ، ويأتي مع العديد من العينات التي يمكنك من خلالها البدء.

أساسًا، Openni يشرفون التفاصيل ذات المستوى الأدنى عن العمل مع المستشعر وسائقه من أجلك ، ويمنحك طريقة مريحة للحصول على ما تريد من "مولد" (على سبيل المثال Xn :: Depthgenerator للحصول على بيانات العمق الخام). OpenNi مفتوح المصدر ومجاني في أي تطبيق. يعالج OpenNi أيضًا تجسيد النظام الأساسي لك. اعتبارًا من اليوم ، يتم دعم OpenNi ويعمل بشكل جيد لنظام التشغيل Windows 32/64 و Linux ، وهو بصدد نقله إلى OSX. تتوفر الروابط للاستخدام في لغات برمجة متعددة (C ، C ++ ، .NET ، Python ، وعدد قليل من الآخرين على ما أعتقد).

نيت يحتوي على واجهات إضافية مصممة فوق OpenNi ، والتي تمنحك نتائج عالية المستوى (على سبيل المثال ، نقطة يدوية ، هياكل عظمية ، تحليل المشهد ، إلخ). ستحتاج إلى التحقق من التفاصيل الدقيقة لترخيص Nite فيما يتعلق بمتى/حيث يمكنك استخدامه ، ولكن من المحتمل أن تكون أسهل وأسرع طريقة للحصول على التحليل (مثل الهيكل العظمي) في الوقت الحالي. Nite مغلق المصدر ، لذلك تحتاج Primesense إلى توفير نسخة ثنائية لك لاستخدامها. تتوفر حاليًا إصدارات Windows و Linux.

لم أعمل مع OpenKinect ولكني كنت أعمل مع OpenNi و Sensorkinect لبضعة أشهر الآن لبحثي. إذا كنت تخطط للعمل مع البيانات الخام من Kinect ، فإنها تعمل بشكل رائع في منحك العمق والفيديو (لا تدعم التحكم في المحرك). لقد استخدمته مع C ++ و OpenGL في كل من Windows 64bit و Ubuntu 32bit مع عدم وجود تعديلات على الرمز. من السهل جدًا معرفة ما إذا كنت تعرف C ++ Basic. تثبيته قد يكون القليل من الصداع.

للحصول على المزيد من الميزات المتقدمة مثل الكشف عن الهيكل العظمي ، والتعرف على الإيماءات ، وما إلى ذلك ، أوصي بشدة باستخدام الأدوات الوسطى مثل Nite مع OpenNi أو تلك الواردة هنا: تطورت الأوسطى حول Openni بدلا من إعادة اختراع العجلة. Nite أيضًا سهل الاستخدام بمجرد تشغيل العمل ؛ على سبيل المثال التعرف على المشترك هو شيء حوالي 10-20 خطوط رمز إضافية.

شيء أوصي به لنفسي الأصغر هو التعلم والعمل مع محرك اللعبة الأساسي (مثل الوحدة) بدلاً من OpenGL مباشرة. سيوفر لك رسومات أفضل بكثير وأكثر متعة ، وأقل مشكلة ، كما أنها ستمكنك من دمج البرنامج بسهولة مع أدوات أخرى مثل Physx. لم أحاول أي شيء ، لكنني أعلم أن هناك بعض الإضافات لاستخدام برامج التشغيل Kinect في الوحدة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top