使用opencv
1. 在cmakelist里面
(1) 当存在多版本opencv时,下面的写法会使用默认版本。
find_package(OpenCV REQUIRED)
(2) 使用指定版本时:
# set(OpenCV_DIR "/home/liuxiangyue/其它/opencv-3.4.3/build") #Liucx添加
set(OpenCV_DIR "/opt/ros/kinetic/include/opencv-3.3.1-dev") #非不得已不建议使用此版本
find_package(OpenCV REQUIRED)
注意:opencv-3.3.1有坑,在有些代码中,像素的值与其它版本的像素值不一样,也会存在图像中某些地方显示不出来的情况。
(3) 当使用(2)后,发现在其它文件中调用opencv中的opencv2中的某些.hpp文件还是会报错。但是已经检查了该路径下确实有这些.hpp文件,例如报错:
此时是因为编译时opencv的链接地址还是没有找对。
解决方法如下:
参考链接:https://blog.csdn.net/mxs30443/article/details/89890258
(1) 查找系统中所有的OpenCVConfig.cmake文件:
sudo find / -name OpenCVConfig.cmake
(2) 在CMakeList.txt中修改为:
SET(OpenCV_DIR 上述的filepath)
find_package(OpenCV REQUIRED)
set(OpenCV_DIR "/opt/ros/kinetic/share/OpenCV-3.3.1-dev") #Liucx添加
find_package(OpenCV REQUIRED)
使用Eigen
1. 在cmakelist里面
(1) 一般情况下使用:
find_package(Eigen3 REQUIRED)
(2) 当使用(1)报错找不到时,使用include直接包含绝对路径即可
include_directories("/usr/include/eigen3")