Saya ingin mengonversi data cloud titik dari Intel® RealSense™ Kamera ke format PCD, yang konvensional di PCL (point cloud library)
Intel® RealSense™ SDK 2.0 dilengkapi dengan program sampel cloud titik tetapi ditujukan untuk C++, begitu juga sebagian besar sampel. Melihat kode dari sejumlah kecil sampel C#, skrip mereka memiliki #includes di header (sesuatu yang tidak wajib dalam C#). Jadi, ada kemungkinan bahwa kode cloud titik C++ mungkin tidak sulit untuk dikonversi ke skrip C#.
Coba kode C++ dalam skrip C# dan lihat berapa banyak kesalahan, jika ada, Anda dapatkan, dan bekerja dari titik itu dan seterusnya.
librealsense/contoh/pointcloud pada master · IntelRealSense/librealsense · Github
Untuk perbandingan kode C++ versus C# di RealSense SDK 2.0, Anda dapat melihat dua jenis sampel yang tercantum pada halaman ini:
librealsense/contoh di master · IntelRealSense/librealsense · Github
Opsi yang dapat dilakukan untuk saat ini hingga kelas PointCloud dililit C# adalah dengan mendapatkan intrinsik kamera (untuk kamera kedalaman jika menggunakan kedalaman mentah, atau kamera warna jika menggunakan kedalaman yang diselaraskan dengan warna) dan mengimplementasikan Model Kamera Pinhole (yang dilakukan kelas PointCloud secara internal). Dari intrinsik yang Anda dapatkan dari kamera, ppx & ppy camera_principle_point_x dan y di link dan fx & fy camera_focal_length_x dan y.
Anda perlu mengulang setiap piksel dalam gambar kedalaman, mendapatkan nilai kedalaman (paling efisien adalah melalui penunjuk data kedalaman), mengalikannya dengan skala kedalaman, dan menerapkan rumus x_3D dan y_3D yang diberikan dalam tautan.
Jika ada yang membaca ini dan menjadi bingung, C# (sebagian besar) didukung saat ini.
Metode yang digunakan secara internal untuk menghitung titik cloud ada di sini.
Pembungkus PCL Intel RealSense mendukung konversi XYZ + RGB
https://github.com/eMrazSVK/JetsonSLAM/blob/master/pcl_testing.cpp