对完成初始配对的std::vector<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> 进行可视化

1. 数据填充

std::vector<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> pure_static_landmarks_underk;

std::vector<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> pure_static_landmarks_k;

vector<vector<int>> matched_indices;

对数据pure_static_landmarks_underk和pure_static_landmarks_k进行填充

对数据matched_indices进行填充

2. 可视化(非函数,直接用)

                pcl::visualization::PCLVisualizer viewer("Matched Point Clouds Visualization");
                for (size_t i = 0; i < matched_indices.size(); ++i) {
                    int idx_k = matched_indices[i][0];
                    int idx_underk = matched_indices[i][1];
                    // 确保索引有效
                    if (idx_k >= pure_static_landmarks_k.size() || idx_underk >= pure_static_landmarks_underk.size()) {
                        continue;
                    }

                    // 为这对点云生成唯一的ID
                    std::string id_k = "cloud_k_" + std::to_string(i);
                    std::string id_underk = "cloud_underk_" + std::to_string(i);

                    // 添加点云到可视化器
                    viewer.addPointCloud<pcl::PointXYZRGB>(pure_static_landmarks_k[idx_k], id_k);
                    viewer.addPointCloud<pcl::PointXYZRGB>(pure_static_landmarks_underk[idx_underk], id_underk);

                    // 可以选择设置点大小
                    viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, id_k);
                    viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, id_underk);
                }
                // 循环直到视窗关闭
                while (!viewer.wasStopped()) {
                    viewer.spinOnce();
                }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值