التحديث : يمكن العثور هنا على نسخة بايثون من هذا الرمز مع دعم وحدة المعالجة المركزية/وحدة معالجة الرسومات.
كود CUDA/C++ لدمج العديد من خرائط العمق المسجلة في حجم فوكسل لوظيفة المسافة الموقعة المقطوعة (TSDF)، والتي يمكن استخدامها بعد ذلك لإنشاء شبكات سطحية ثلاثية الأبعاد عالية الجودة وسحب نقطية. تم الاختبار على Ubuntu 14.04 و16.04.
هل تبحث عن نسخة أقدم؟ انظر هنا.
tsdf2mesh.m
الآن بإنشاء شبكة بشكل صحيح في إحداثيات الكاميرا بدلاً من إحداثيات فوكسل.SaveVoxelGrid2SurfacePointCloud
في التعليمات البرمجية التجريبية لتمكين إنشاء تصورات سحابة نقطية بإطار عمق واحد فقط. يدمج هذا العرض التوضيحي 50 خريطة عمق مسجلة من data/rgbd-frames
في حجم فوكسل TSDF إسقاطي، وينشئ سحابة نقطة سطحية ثلاثية الأبعاد tsdf.ply
، والتي يمكن تصورها باستخدام عارض ثلاثي الأبعاد مثل Meshlab.
ملحوظة : يجب حفظ خرائط عمق الإدخال بالتنسيق: 16 بت PNG، العمق بالملليمتر.
./compile.sh # compiles demo executable
./demo # 3D point cloud saved to tsdf.ply and voxel grid saved to tsdf.bin
[اختياري] يحفظ هذا العرض التوضيحي أيضًا حجم وحدة فوكسل المحسوبة في ملف ثنائي tsdf.bin
. قم بتشغيل البرنامج النصي التالي في Matlab لإنشاء mesh.ply
سطحية ثلاثية الأبعاد، والتي يمكن تصورها باستخدام Meshlab.
tsdf2mesh ; % 3D mesh saved to mesh.ply
يعد هذا المستودع جزءًا من 3DMatch Toolbox. إذا وجدت هذا الكود مفيدًا في عملك، فيرجى مراعاة الاستشهاد بما يلي:
@inproceedings{zeng20163dmatch,
title={3DMatch: Learning Local Geometric Descriptors from RGB-D Reconstructions},
author={Zeng, Andy and Song, Shuran and Nie{ss}ner, Matthias and Fisher, Matthew and Xiao, Jianxiong and Funkhouser, Thomas},
booktitle={CVPR},
year={2017}
}