点云技术相关产学研社区

 找回密码
 立即注册加入PCL中国点云技术相关产学研社区

扫一扫,访问微社区

查看: 4314|回复: 2

pcl片选点云(areapicking event)出现程序停止工作的错误

[复制链接]
发表于 2016-5-30 10:48:29 | 显示全部楼层 |阅读模式
程序的主要功能:显示三维点云图,并实现拉框片选点云,然后只显示矩形框选中的点云。
实现方式:为了实现拉框片选点云,1)注册了片选回调函数areapickingcallback
viewer_->registerAreaPickingCallback(&PCLViewer::areaPickingCallback, *this);2)实现了areapickingCallback函数
void PCLViewer::areaPickingCallback(const pcl::visualization::AreaPickingEvent& event, void* cookie)
{
        std::cout << "areaPicking event active" << std::endl;
        pcl::PointIndices::Ptr inliers;
        inliers = pcl::PointIndices::Ptr(new pcl::PointIndices);
        if (event.getPointsIndices(inliers->indices) != false)
        {
                pcl::ExtractIndices<pcl::PointXYZ> extract;
                extract.setIndices(inliers);
                extract.setInputCloud(point_cloud_);
                extract.setNegative(false); //矩形框选中的点

                pcl::PointCloud<pcl::PointXYZ>::Ptr new_cloud_ = pcl::PointCloud<pcl::PointXYZ>::Ptr(new pcl::PointCloud<pcl::PointXYZ>);
                extract.filter(*new_cloud_);

                pcl::copyPointCloud(*new_cloud_, *point_cloud_);
                std::cout << "selected_cloud has " << point_cloud_->points.size() << " points." << std::endl;

                viewer_->removeAllPointClouds();
                pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> handle(point_cloud_, 50, 100, 139);
                viewer_->addPointCloud(point_cloud_, handle);//显示矩形框选中的点云
        }
}

片选方法:按下X键,鼠标拉矩形框片选,再按X键,显示片选后的结果
问题:我按下X键,再鼠标拉矩形框片选,这个时候如果不按X键,而是在显示点云图的区域直接点击鼠标左键,将会出现“程序停止运行”错误,即使这个时候是应该按X键才显示正确结果,但是按鼠标左键程序不应该直接崩掉啊,鼠标左键很容易误点到啊。
file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\2512662393\QQ\WinTemp\RichOle\6I}8]2`QZ84{15OHFHN}9HU.png

求救各位大神看看,该如何解决啊????先拜谢了!
回复

使用道具 举报

发表于 2016-6-7 17:39:48 | 显示全部楼层
官网有例子,可以运行,我试过,不按X应该是没有反应的。
回复 支持 反对

使用道具 举报

发表于 2017-1-7 11:53:37 | 显示全部楼层
楼主你的问题解决了吗?我在调用这个pp_callback的时候也出现了不能连续重复选点的问题
回复 支持 反对

使用道具 举报

本版积分规则

QQ|小黑屋|点云技术相关产学研社区 ( 陕ICP备13001629号 )

GMT+8, 2024-5-12 11:45 , Processed in 2.927212 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表