不要重装opencv!不要重装opencv!不要重装opencv!重要的事情说三遍!
- 首先,LSD算法在Opencv3.1.0中就有,并且已经成功使用了,详情见Gitee中的lsd.cpp;
步骤
-
第一步:在Opencv官网下载Opencv3.1.0的源码,不要下载contrib文件;
https://opencv.org/releases/page/6/ -
第二步:在…\opencv-3.1.0\modules\imgproc\src路径下复制lsd.cpp和precomp.hpp文件到工程目录下,所谓的工作目录,就是“/home/lanzy/ouster_ws/src/ouster_line/src”下面:
- 第三步:向Radar的Cmakelist.txt一样,向工程文件的cmakelist.txt中添加lsd.cpp的对应命令:
#from opencv
add_library(lsd
src/lsd.cpp
)
target_link_libraries(lsd
${catkin_LIBRARIES}
${Boost_INCLUDE_DIRS}
${Eigen3_LIBS}
)
- 第三步:将lsd链接到对应的cpp文件(oppo_LSD_odom.cpp)中:
add_executable(oppo_LSD_odom src/oppo_LSD_odom.cpp)
target_link_libraries(oppo_LSD_odom radar_utils association lsd ${catkin_LIBRARIES} ${OpenCV_LIBS} ${PCL_LIBRARIES} ${Eigen3_LIBS} )
- 第四步:在oppo_LSD_odom.cpp文件中,写入头文件,链接precomp.hpp和lsd.cpp:
#include "/home/lanzy/ouster_ws/src/ouster_line/src/precomp.hpp"
#include "/home/lanzy/ouster_ws/src/ouster_line/src/lsd.cpp"
- catkin_make
- make
- 成功运行!
注意
- 没有步骤2、3,只进行步骤4,居然也可以,迷惑了!
参考网址:
(1)看评论:
https://blog.csdn.net/qq_40436880/article/details/115672860