Ubuntu在CMakeLists.txt中指定OpenCV版本的参考方法

文章目录

写在前面

自己的测试环境:

  Ubuntu20.04, ROS-Noetic, OpenCV-4.2.0, OpenCV-4.5.4。

一、问题描述

编译运行OpenCV遇到如下报错:

bash 复制代码
terminate called after throwing an instance of 'cv::Exception'
  what():  OpenCV(4.5.4) /home/wong/third_party/opencv-4.5.4/modules/core/src/matrix.cpp:250: error: (-215:Assertion failed) s >= 0 in function 'setSize'

二、解决方法

出现上述报错的原因是 OpenCV 库版本不兼容的问题,因此需要在CMakeLists.txt中指定 OpenCV 4.2.0 的路径:

bash 复制代码
set(OpenCV_DIR /usr/lib/x86_64-linux-gnu/cmake/opencv4/)
find_package(OpenCV REQUIRED)
message("OpenCV_DIR: ${OpenCV_DIR}")
message("OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}")
message("OpenCV version: ${OpenCV_VERSION}")
# 打印结果
# OpenCV_DIR: /usr/lib/x86_64-linux-gnu/cmake/opencv4/
# OpenCV_INCLUDE_DIRS: /usr/include/opencv4
# OpenCV version: 4.2.0

然后重新编译,重新运行即可。

参考链接

1 wonghome. OpenCV报错遇到 No rule to make target '/usr/lib/x86_64-linux-gnu/libopencv_dpm.s' 的参考解决方法 EB/OL. https://blog.csdn.net/qq_39779233/article/details/142202706, 2024-09-13/2024-09-13.

相关推荐
XIAOHEZIcode2 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
兵慌码乱9 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
梦想三三13 天前
OpenCV银行卡数字识别项目(图像预处理与字符分割)
人工智能·opencv·计算机视觉
张飞飞飞飞飞13 天前
Tmux命令使用教程
linux·服务器·ubuntu
武子康13 天前
调查研究-180 roboflow/supervision:计算机视觉工程里的“胶水层“,为什么值得关注?
人工智能·opencv·计算机视觉·chatgpt·llm·向量化
盼小辉丶13 天前
Ubuntu极速部署OpenClaw完全指南(本地模型+DeepSeek)
linux·ubuntu·openclaw
黑白园13 天前
【环境搭建】Ubuntu安装(一)
linux·ubuntu
Moshow郑锴13 天前
Ubuntu用SDKMAN轻松管理多个Java 版本
java·ubuntu·sdkman
error:(13 天前
Ubuntu 22.04 GNOME远程桌面配置问题排查与解决全流程
linux·运维·ubuntu
Java知识技术分享13 天前
在windows上使用wsl安装Ubuntu~linux系统
linux·人工智能·windows·ubuntu