编译 Efficient Hierarchical Graph-Based Segmentation of RGBD Videos

来源:互联网 发布:怎么彻底卸载java 编辑:程序博客网 时间:2024/06/16 19:09

今天接到导师的短信, 让我编译一篇paper的code。 于是开工。


到作者的主页上一看, 发现提供了github的代码。 并明确要求使用opencv和pcl。 于是开始配置这两个库。


opencv网上教程一大堆, 我就不写了, 主要写pcl怎么配置。 


首先, pcl的官网上放binary版本事1.60, 由vs2010编译。 但是该paper的code使用了amp库, 这个库从vs2012开始支持, 所以需要自己编译pcl。


 错误:cmake无法通过,找不到mm_malloc.h在自己编译pcl的时候, 用cmake生成vs2012的sln文件的时候, 报错, 错误:cmake无法通过,找不到mm_malloc.h。 上网搜索了很久也没办法, 于是只好用vs2010编译。 在编译的时候, 遇到PCL_DEPRECATED的错误, 搜索后发现, 可以采用如下解决方法。


将png.h报错部分改成

template PCL_DEPRECATED ( void savePNGFile (const std::string& file_name, const pcl::PointCloud& cloud), “pcl::io::savePNGFile (file_name, cloud) is deprecated, please use a new generic ” “function pcl::io::savePNGFile (file_name, cloud, field_name) with \”rgb\” as the field name.” ); 

 common/include/pcl/ros/conversions.h 同样改法。 借鉴http://www.pclcn.org/bbs/forum.php?mod=viewthread&tid=509, 感谢!


编译完之后, 用vs2012导入vs2010编译的pcl库, 但是发现boost和vtk的lib和vs2012不兼容!!!


无奈之下开始google别人编好的pcl vs2012库。 发现http://unanancyowen.com/?p=1255&lang=en这个文章中, 作者提供vs2012和vs2013编译好的pcl库。下载以后可用!!!感谢!!!


使用说明: 安装作者提供的文件, 在path中设置pcl, flann, vtk, 使用vs2012的时候, 用作者配置好的props文件即可。 


另附props的使用说明: http://blog.chinaunix.net/uid-12773189-id-3020261.html。 


pcl配置好之后, 用vs2012新建一个空项目, 导入props文件, 配置好pcl, 然后配置pencv, 最后把paper的cpp, h文件拖进来, 编译即可。


over。


0 0