首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于PCL的云点流可视化

基于PCL的云点流可视化
EN

Stack Overflow用户
提问于 2012-01-25 21:07:58
回答 1查看 11K关注 0票数 13

我正在对RGB和深度数据进行一些处理,并构建要可视化的云点,我目前使用的是PCL Visualizer,它工作得很好。我想让可视化工具在不同的线程中(实时地,这样它就会重新绘制全局云点,我尝试了boost线程,但我得到了一个运行时错误"VTK bad cloud table“

有人知道如何在不同的线程中可视化云点流吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-26 07:59:18

好了,我现在让它工作了,也许我之前做错了什么,下面是我是如何使用boost线程和互斥量来做的

代码语言:javascript
复制
    bool update;
    boost::mutex updateModelMutex;
    pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZRGB>);

    void visualize()  
    {  
        // prepare visualizer named "viewer"

        while (!viewer->wasStopped ())
        {
            viewer->spinOnce (100);
            // Get lock on the boolean update and check if cloud was updated
            boost::mutex::scoped_lock updateLock(updateModelMutex);
            if(update)
            {
                if(!viewer->updatePointCloud(cloud, "sample cloud"))
                  viewer->addPointCloud(cloud, colorHandler, "sample cloud");
                update = false;
            }
            updateLock.unlock();

        }   
   }  


    int main()
    {
        //Start visualizer thread
        boost::thread workerThread(visualize); 

        while(notFinishedProcessing)
        {
           boost::mutex::scoped_lock updateLock(updateModelMutex);
          update = true;
          // do processing on cloud
           updateLock.unlock();

        }
        workerThread.join();  
    }

更新:

根据此page,原因是将空点云添加到可视化工具会导致事情变得疯狂,因此我编辑了上面的代码

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9003239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档