Chuyển đổi đám Intel RealSense điểm thành đám mây điểm PCL từ máy ảnh Intel® RealSense™ độ sâu
Tôi muốn chuyển đổi dữ liệu đám mây điểm từ Intel® RealSense™ Camera sang định dạng PCD, được thiết lập trong PCL (thư viện đám mây điểm)
SDK Intel® RealSense™ 2.0 đi kèm với chương trình mẫu đám mây điểm nhưng nó dành cho C++, vì phần lớn mẫu. Nhìn vào mã của số lượng nhỏ mẫu C# mặc dù, các tập lệnh của chúng có #includes trong các tiêu đề (một cái gì đó không bắt buộc trong C#). Vì vậy, có thể mã đám mây điểm C++ có thể không khó để chuyển đổi thành tập lệnh C#
Hãy thử mã C++ trong tập lệnh C# và xem có bao nhiêu lỗi, nếu có, bạn nhận được và làm việc từ thời điểm đó trở đi.
librealsense/examples/pointcloud tại master | IntelRealSense/librealsense | Github
Để so sánh mã C++ so với C# trong RealSense SDK 2.0, bạn có thể xem hai loại mẫu được liệt kê trên trang này:
librealsense/ví dụ tại master | IntelRealSense/librealsense | Github
Một tùy chọn để thực hiện ngay bây giờ cho đến khi lớp PointCloud được thiết kế cho C# là để có được nội tại của máy ảnh (đối với máy ảnh chiều sâu nếu sử dụng độ sâu thô hoặc camera màu nếu sử dụng chiều sâu được liên kết với màu sắc) và triển khai Mô hình Camera Pinhole (đó là những gì lớp PointCloud hoạt động trong nội bộ). Từ nội tại bạn nhận được từ máy ảnh, ppx & ppy được camera_principle_point_x và y trong liên kết và fx & fy được camera_focal_length_x và y.
Bạn cần phải lặp qua từng pixel trong hình ảnh chiều sâu, có được giá trị chiều sâu (hiệu quả nhất là thông qua con trỏ dữ liệu chiều sâu), nhân nó theo thang độ sâu, và áp dụng cấu hình x_3D và y_3D được đưa ra trong liên kết.
Trong trường hợp có người đọc bài này và bị nhầm lẫn, C# (chủ yếu) hiện được hỗ trợ.
Phương pháp được sử dụng trong nội bộ để tính toán đám mây điểm là đây.
Hỗ trợ bổ trợ PCL Intel RealSense hỗ trợ chuyển đổi XYZ + RGB
https://github.com/eMrazSVK/JetsonSLAM/blob/master/pcl_testing.cpp