背景:
ROS功能包调用OpenCV,实现运动检测。
从结果上看,其它类似情况应该也可以用此方法解决(因为是根据终端报错信息找到错误)。
报错:!
简单来说就是catkin_make编译时找不到需要的OpenCVconfig文件。
.
.
.
解决方法:
既然需要config文件,首先需要在OpenCV库中找到它。对此每个人情况不同,我按照论坛上许多方法都找不到,最后直接全文件搜索:opencvconfig(大家要是搜索不到可以进入最有可能的opt文件夹下搜索)
然后在功能包的CMakeLists里,在find_package(…)前面加入:
set(OpenCV_DIR xxxx) (用于设置路径,让config文件被找到)
其中xxx是搜索到的config文件路径,如:
set(OpenCV_DIR /opt/ros/kinetic/share/OpenCV-3.3.1-dev)
最后重新到工作空间catkin_make,基本上就ok了。
最后:
这个方法是根据终端报错的信息处理错误的,没有添加一堆有的没的看不懂的代码,也建议大家遇到错误时先读懂终端报错的信息,胡乱设置容易导致步步错hhh。
希望对你有帮助。