论文学习"/>
Lidar论文学习
文章复现-speed and accuracy tradeoff for LiDAR Data…@作者
初出茅庐-文章复现
文章复现大致包括:环境配置+数据复现+个人数据库尝试
环境配置
vpn: =linux&client=clash##
Install proto3
Please check README.md for proto3 installation instructions.
软件包:
安装后:更新protobu文件
protoc -I=S R C D I R − − c p p o u t = SRC_DIR --cpp_out=SRC
D
IR−−cpp
o
ut=DST_DIR $SRC_DIR/addressbook.proto
例如:当前目录里的proto
protoc -I=./ --cpp_out=./ xxx.proto
Install glog
原文的打不开,现在用的pip install glog
Install OpenCV 3.4.5++ and PCL 1.7++
opencv 安装-参考链接:
.html
原文俩出小修改:
修改1:opencv_contrib 无法下载,可从下链接下载:
.4.5
修改2:
opencv安装opencv_contrib出现无法打开包括文件: “opencv2/xfeatures2d/cuda.hpp”的解决方法:
这里比较简单的就是直接改掉头文件
解决办法: 在CMakeLists.txt增加以下内容: (这里原文有点问题,大家注意修改一个是路径,还有一个是版本是自己安装的opencv版本)INCLUDE_DIRECTORIES("<你的路径>/opencv-3.4.5/opencv_contrib-3.4.5/modules/xfeatures2d/include")
CMakeLists.txt文件所在路径为: <你的路径>/opencv-3.4.5/modules/stitching/ CMakeLists.txt
验证是否安装成功:
首先ubuntu打开相机:
直接在活动中找到茄子(cheese),如果没有请安装:sudo apt-get install cheese
opencv demo验证:
cd <你的路径>/opencv-3.4.5/samples/cpp/example_cmake
cmake.
make
./opencv_example
如果能打开相机说明成功!!!!!!!
PCL安装 - 参考链接:
我在20.04.3实验成功
limbo build:
clone limbo
cd LidarRoadBoundaryDetection
git clone
Build limbo
Then please check official documentation to build and intall limbo:
有时候网络问题:GitHub的文件无法clone,需要翻墙。
目前这里有些问题,好像没有编成,导致demo frame无法运行。
编译问题:
1 error:#error PCL requires C++14 or above
解决:在CMakeList中新增一句:
set(CMAKE_CXX_STANDARD 14)
2 boost ‘boost::mutex’ has not been declared:
解决: 安装boost
上面不行,试试:
wwwblogs/oracleloyal/p/6060779.html
boost 测试代码:
=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-1.essearch_pc_relevant&spm=1001.2101.3001.4242.2
main_thread.cpp修改:
添加头文件:
#include<boost/thread/mutex.hpp>
#include<boost/thread/thread.hpp>
bug补充:
intel TBB Installation
=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-5.no_search_link&spm=1001.2101.3001.4242.4
copy reference below:
下载:
first:选择合适的版本分支
最后:
注意添加路径需要修改自己的路径
test
cd examples
make
NLopt Installation
=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_ecpm_v1~rank_v31_ecpm-1-104335822.pc_agg_new_rank&utm_term=nlopt%E5%AE%89%E8%A3%85+ubuntu&spm=1000.2123.3001.4430
交叉编译工具安装:
gcc:
sudo apt-get install gcc-arm-linux-gnueabi
g++:
sudo apt-get install g+±arm-linux-gnueabi
locate:
locate如果没有反应:可以试试关闭终端再打开+ sudo updatedb
limbo build:
error:
/usr/bin/ld: 当搜索用于 /usr/local/lib/libnlopt.a 时跳过不兼容的 -lnlopt
尝是不是NLopt安装不成功。
更新nlopt安装方式:
.html
./configure --with-cxx --enable-shared --without-python --without-matlab --without-octave
make
sudo make install
limbo build成功
出现return errr
usr/bin/ld: lib/libextract.a(road_boundary.pb.o)😦.data.rel.ro+0x50): more undefined references to `google::protobuf::Message::CopyWithSizeCheck(google::protobuf::Message*, google::protobuf::Message const&)’ follow
collect2: error: ld returned 1 exit status
以下操作仍然不能解决,但proto安装成功
proto anzhuang gengxin:
.md
上个 error solved!
/home/gj/lidar/LidarRoadBoundaryDetection/limbo/src/limbo/serialize/text_archive.hpp:72:35: error: variable ‘std::ofstream ofs’ has initializer but incomplete type
72 | std::ofstream ofs(fname(object_name).c_str());
头文件添加:
#include
最新 error:
应该是protobuf问题
CMakeLists做了如下修改:
cmake_minimum_required(VERSION 2.8)
project(boundary_detection)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_FLAGS “-std=c++11 -march=native”)
set(CMAKE_BUILD_TYPE Release CACHE STRING “set build type to release”)
set(CMAKE_MODULE_PATH C M A K E M O D U L E P A T H " {CMAKE_MODULE_PATH} " CMAKEMODULEPATH"{CMAKE_CURRENT_LIST_DIR}/cmake")
set(LIMBO_INCLUDE_DIRS ./limbo/src)
find_package(OpenMP REQUIRED)
find_package(Protobuf REQUIRED)
if(PROTOBUF_FOUND)
message(STATUS “protobuf library found”)
else()
message(FATAL_ERROR “protobuf library is needed but cant be found”)
endif()
find_package(Boost)
find_package(PCL REQUIRED)
find_package(Eigen3 REQUIRED)
find_package(OpenCV REQUIRED)
find_package(Glog REQUIRED)
include_directories(/home/gj/lidar/LidarRoadBoundaryDetection/limbo/src
${PCL_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS}
${Qt5Charts_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIRS}
${LIMBO_INCLUDE_DIRS} ${Protobuf_INCLUDE_DIRS} G L O G I N C L U D E D I R S . ) I N C L U D E D I R E C T O R I E S ( {GLOG_INCLUDE_DIRS} .) INCLUDE_DIRECTORIES( GLOGINCLUDEDIRS.)INCLUDEDIRECTORIES({CMAKE_CURRENT_BINARY_DIR})
link_directories(${PCL_LIBRARY_DIRS} /home/gj/lidar/LidarRoadBoundaryDetection/limbo/build/src)
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS road_boundary.proto)
protobuf_generate_cpp(road_boundary.pb.cpp road_boundary.pb.h road_boundary.proto)
add_definitions(${PCL_DEFINITIONS})
add_subdirectory(./lib)
#add_library(extract ${SRC})
#target_link_libraries(extract ${PCL_LIBRARIES} OpenMP::OpenMP_CXX)
add_executable(demo_frame src/main.cpp)
target_link_libraries(demo_frame ${PCL_LIBRARIES} ${OpenCV_LIBS} extract
${Protobuf_LIBRARIES} ${GLOG_LIBRARIES})
add_executable(demo_video src/main_thread.cpp ${PROTO_SRCS} ${PROTO_HDRS})
target_link_libraries(demo_video ${PCL_LIBRARIES} ${OpenCV_LIBS} extract
${Protobuf_LIBRARIES} ${GLOG_LIBRARIES})
————————————————
版权声明:本文为CSDN博主「mark_GJ」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
更多推荐
Lidar论文学习
发布评论