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.

相关推荐
俊俊谢1 小时前
OpenCV环境配置(QT 6.6.1 MSVC2019 64bit + OpenCV – 4.12.0)
qt·opencv·msvc
却道天凉_好个秋1 小时前
OpenCV(十六):椭圆的绘制
opencv·计算机视觉
不懂音乐的欣赏者3 小时前
Windows 下 ROS/ROS2 开发环境最优解:WSL 比直接安装、虚拟机、双系统更优雅!
linux·windows·ubuntu·ros·wsl·ros2·双系统
滨HI05 小时前
C++ opencv拟合直线
开发语言·c++·opencv
rit84324996 小时前
在Ubuntu上配置Nginx实现开机自启功能
数据库·nginx·ubuntu
序属秋秋秋9 小时前
《Linux系统编程之开发工具》【实战:倒计时 + 进度条】
linux·运维·服务器·c语言·c++·ubuntu·系统编程
骄傲的心别枯萎10 小时前
RV1126 NO.40:OPENCV图形计算面积、弧长API讲解
人工智能·opencv·计算机视觉·音视频·rv1126
程序员-小李21 小时前
基于 Python + OpenCV 的人脸识别系统开发实战
开发语言·python·opencv
曾小蛙21 小时前
【ROS2+深度相机】在Ubuntu安装realsense-ros
ubuntu·realsense-ros·ros2 humble·d435
Elendill1 天前
【Ubuntu】Ubuntu 服务器升级系统操作记录
运维·服务器·ubuntu