ubuntu系统装有多个版本opencv使用方法及可能出现的问题:
单opencv版本时使用命令:find_package(OpenCV 3.2 REQUIRED)
其默认是在user/local/目录下安装的opencv版本
多opencv版本时使用命令:
set(OpenCV_DIR "/home/arrow/lib_z/opencv-3.2.0/build")
其中:/home/arrow/lib_z/opencv-3.2.0/build为自定义opencv安装目录
find_package(OpenCV 3.2 REQUIRED)
关于自定义安装目录,以及多版本opencv安装参考:
ubuntu中同时安装多个版本的opencv_gwpscut的博客-CSDN博客_ubuntu安装多个opencv
ROS系统catkin_make可能会出现的问题:
版本冲突问题:
libopencv_imgcodecs.so.3.2, needed by /opt/ros/melodic/lib/libcv_bridge.so, may conflict with libopencv_imgcodecs.so.4.2
由于ROS系统自带opencv,在链接库时候,会引入多版本的库文件(target_link_libraries(... ${catkin_LIBRARIES} ${OpenCV_LIBRARIES}) catkin_LIBRARIES包含一些opencv链接库
解决方法:
剔除不想要的版本即可:
以上面的报错为例子
file(GLOB_RECURSE OLD_OPENCV "/usr/lib/aarch64-linux-gnu/libopencv_imgcodecs.so.3.2")
list(REMOVE_ITEM catkin_LIBRARIES ${OLD_OPENCV})
(32条消息) ROS中catkin_make的OpenCV冲突的解决(踩坑小记,报错分析)_MendozaG的博客-CSDN博客https://blog.csdn.net/m0_46611008/article/details/124321527?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-124321527-blog-80288077.t5_landing_title_tags_v2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-124321527-blog-80288077.t5_landing_title_tags_v2&utm_relevant_index=1
其他vins-mono编译过程中可能会出现的问题:
cpp缺少头文件问题(CV_GRAY2RGB);因版本更新导致的命令不一致(CV_FONT_HERSHEY_SIMPLEX)
Vins-Fusion安装记录 - 知乎 (zhihu.com)
问题一
- 编译时报错 error: ‘CV_GRAY2RGB’ was not declared in this scope 等
解决方法
- 在报错文件上添加头文件 #include <opencv2/imgproc/imgproc_c.h>
- 单独遇到CV_AA的报错时,也可以将 CV_AA 改为 cv::LINE_AA
问题四
- 编译时遇到报错 error: ‘CV_FONT_HERSHEY_SIMPLEX’ was not declared in this scope
解决方法
- 将报错文件上的 CV_FONT_HERSHEY_SIMPLEX 参数改为 cv::FONT_HERSHEY_SIMPLEX
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)