كيفية تحويل إحداثيات 2D (x، y) إلى إحداثيات 3D (x، y، z) باستخدام MATLAB؟

0

أحاول أتمتة ذراع آلي باستخدام MATLAB. لذلك ، سيتم تثبيت الكاميرا على قاعدة الذراع الروبوتية. سوف يلتقط لقطات إطارات الكاميرا ويقوم بمعالجة الصور عليها وسيكتشف الهدف (الكائن) ويجد إحداثيات البكسل له. بعد الانتهاء من ذلك ، يجب تعيين إحداثيات البكسل إلى إحداثيات متري xyz في العالم الحقيقي؟ وستعمل إحداثيات هذا العالم الحقيقي (س ، ص ، ض) كمعلمات للدالة الحركية العكسية التي ستعطي قيمة ثيتا حتى تتمكن الماكينات من التحرك.

أنا عالق هنا ، يجب أن يتم تعيين إحداثيات البكسل إلى إحداثيات متري xyz في العالم الحقيقي؟ أنا لا أعرف كيف نفعل ذلك. ولا الحصول على أي أفكار ، كيف نمضي قدما؟ أي شخص لديه أي الرصاص ، يرجى مشاركته !!

PS أي شخص منكم يعتقد Guyz أنه لأتمتة الذراع الروبوتية يجب أن أستخدم MATLAB أو أي شيء آخر ؟. كوز سيتم تحميل كل هذا الرمز على التوت بي 3 باستخدام بيئة ROS.

تحياتي الحارة

هيتش كومار

1 إجابة

0

لحساب نقطة العالم ثلاثي الأبعاد للبكسل المحدد في الصورة ، تحتاج إلى معلومات العمق (يجب استخدام كاميرا ثلاثية الأبعاد مثل Kinect ..etc). واحد لديك معلومات عميقة وجوهرية الكاميرا والكائنات الخارجية يمكنك تحويل 2D بكسل إلى إحداثيات العالم ثلاثي الأبعاد والعكس صحيح.

أدناه المعادلة لحساب X ، Y ، Z في إحداثيات العالم.

Imagen 693099

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

Imagen 693100

فوق الصورة من هنا

:مؤلف
فوق
قائمة طعام