【问题标题】:PCL Visualizer demo interaction customization crashing on spinoncePCL Visualizer 演示交互自定义在 spinonce 上崩溃
【发布时间】:2014-04-05 21:16:12
【问题描述】:

我正在尝试让 PCL Visualizer 演示示例(所有代码在此处:http://pointclouds.org/documentation/tutorials/pcl_visualizer.php)适用于 Windows、PCL 1.6、32 位版本。

除了交互自定义部分之外,它工作正常,具有讽刺意味的是,这是我最感兴趣的部分。在 main 方法的 spinOnce(100) 行发生未处理的异常。从我所做的长期搜索来看,它似乎与 VTK 紧密相连,不是线程安全的,并且键盘/鼠标回调会干扰 VTK 窗口。但是,我认为我没有完全理解这一点,并且可能会出错。我在 stackoverflow (using "pcl::visualization" in different threads from different instance of a class) 中发现了一个非常相似的问题,我尝试在 spinonce 周围使用 scoped_locks,正如他所建议的那样,但我认为我做得不对。

有没有人设法在 win32 上完全使用这个例子?作为参考,这是我锁定 spinonce 的糟糕尝试:

while (!viewer->wasStopped ())
 {

boost::mutex vis_mutex;  //storage for static lock 
boost::mutex::scoped_lock lock(vis_mutex); 
viewer->spinOnce (); 
boost::this_thread::sleep (boost::posix_time::microseconds (100000));

  }

提前致谢!

【问题讨论】:

    标签: multithreading locking point-cloud-library


    【解决方案1】:

    恐怕与PCL的版本有关。

    教程与最新版本的 PCL 相匹配,从 1.6 开始,情况可能有所改变。

    我建议您更新到最新的PCL from github。 (实际上我在win64上直接使用本教程中的代码,没有问题)

    【讨论】:

    • 好的,我会尝试并报告。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-01-25
    • 2012-05-27
    • 1970-01-01
    • 2017-11-19
    • 2017-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多