هذه مجموعة من المرافق التي تساعدني في تسجيل وتنظيم مجموعات بيانات RGBD لاحتياجات رؤية الكمبيوتر الخاصة بي. الميزة الرئيسية هي التوافق مع الكثير من المستشعرات المختلفة ونهج مبسط لتخزين مجموعات البيانات من أجل تقسيمها واستخدامها في التجارب المختلفة وما إلى ذلك.
لتجميع قضية المكتبة:
mkdir build
cd build
cmake ..
make
نظرًا لأن هذه المكتبة تحتوي على مكونات مكونات مرتبطة بـ V4L2 ، OpenNi ، OpenNi2 ، Intel RealSense و DepthSense Kinetic و OpenGL و WXWidgets و OpenCV وغيرها من النتيجة الخلفية ، فإن كل منها لها اعتماد خاصة بها ، وعندما تقوم أولاً باستنساخ المستودع والقيام بهذه البناء أولاً ، سيتم بناء الأشياء الأساسية فقط.
إذا كنت ترغب في تنزيل OpenNi و OpenNi2 و libfreenect وما إلى ذلك ، فيرجى إصدار إصدار
cd 3dparty && ./get_third_party_libs.sh
سيطرح عليك البرنامج النصي سلسلة من الأسئلة وسيحاول تنزيل المكتبات التي تطلبها وإعدادها.
إذا كنت قد قمت بتمكين أنظمة كاميرا معينة وما إلى ذلك
cd build
cmake-gui ..
وهناك ستجد قائمة كبيرة من عناصر enable_x (enable_openni2 ، enable_jpg ، enable_opengl etc). يؤدي تشغيلها وإعادة تجميع المكتبة إلى إنشاء المكونات الإضافية المطلوبة لاستخدامها.
يوجد أيضًا محرر واجهة المستخدم الرسومية (Enable_editor) يعتمد على WXWidgets التي يمكن استخدامها كأداة رسومية لاكتساب مجموعات البيانات وتسجيلها ثم تقسيمها والقيام بمهام معالجة بسيطة مختلفة عليها.
بعد بنائه يمكنك تشغيله عن طريق إصدار:
./run_editor.sh
ينقسم المشروع إلى المكتبات والتطبيقات والمعالجات والأدوات
عند الاستيلاء على مجموعات البيانات ، يمكنك تحديد من الوحدات النمطية المرتبطة باستخدامها كمعلمة .. على سبيل المثال
./run_grabber.sh -maxFrames 10 -module OPENNI2 -from 0 -to outdir
سيحصل هذا على 10 إطارات (-maxframes 10) من جهاز OpenNi2 الأول (-from 0) OpenNi2 (-module openni2) تم توصيله (شريطة تجميعه) ثم اكتب الإخراج إلى Grabber/Outsir/Outsir
الخيارات المحتملة للوحدات النمطية هي:
هناك أيضًا معالجات يمكنها معالجة الصور المكتسبة على سبيل المثال على افتراض أن لديك كاميرا ويب متصلة ، فقد قمت بتثبيت مستودع DarkNet على دليل 3DParty وتنزيل ملفات الوزن المناسبة وقمت أيضًا بتمكين الأعلام enable_opencv و enable_v4l2 و enable_processor_darket باستخدام cmake-duit-duit.
./run_viewer.sh -module V4L2 -from /dev/video0 -noDepth -processor ../processors/DarknetProcessor/libDarknetProcessor.so DarknetProcessor $DIR/3dparty/darknet/yolo.weights $DIR/3dparty/darknet/cfg/yolo.cfg $DIR/3dparty/darknet/cfg/coco.data --payload ./payload.sh $@
من أجل تفريغ 100 إطارات من كاميرا ويب V4L2 الخاصة بك إلى دليل Grabber/Frames/V4L2Test يمكنك القيام به
./run_grabber.sh -module V4L2 -from /dev/video0 -noDepth -maxFrames 100 -to v4l2test
من أجل الحفاظ على أحجام المستودعات صغيرة ، وإذا كنت ترغب في استخدام CustisitionBroadcast ، فيجب عليك تشغيل.
wget http://127.0.0.1:8080/rgb.ppm -O rgb.ppm
wget http://127.0.0.1:8080/depth.ppm -O depth.ppm
wget -qO- http://127.0.0.1:8080/control.html?seek=10
بدون Beeing 100 ٪ ، قد تتعارض OpenNi المثبت عبر ROS مع تنزيلها كحزمة قائمة بذاتها ، هناك برنامج نصي يبدأه بطريقة ROS ، لذلك إذا كان هذا هو قضيتك ، فما عليك سوى تشغيل البرامج النصية/ROS_STARTCAMERA.SH ومن ثم يمكنك البدء في استخدام OpenNI دون أي مشاكل!