Ubuntu下 opencv卸载、重新安装总结

it2024-12-27  15

Ubuntu下 opencv 卸载、重新安装总结

由于项目需要,需要卸载opencv3 重装opencv4,费了写时间,现就ubunut下,关于opencv的安装,卸载,以及qt 、eclipse工程配置做总结

1 opencv 下载

一般在[官网下载](https://opencv.org/), ps: 注意找到Linux相关安装包,不细说了。

2 opencv3 安装

2.1 opencv 安装包一般包含opencv 和 另一个主要是第三方包

编译 并 安装 opencv 找到build目录, 如果没有,就建一个。 具体安装过程,有很多介绍。比如请参考https://blog.csdn.net/yue_tj/article/details/78522397 https://blog.csdn.net/qq_36486890/article/details/97511295

ps: 只是注意 在编译opencv 过程中, opencv_contrib的路径。

配置opencv

1 配置opencv.conf (opencv4 一般为opencv4.conf ) 在 sudo gedit /etc/ld.so.conf.d/opencv.conf 文件在文末添加

/usr/local/libsudo ldconfig配置环境变量 export PATH=$PATH:/usr/local/include/opencv4 export LD_LIBRARY_PATH=/usr/local/lib PKG路径 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH

**

opencv 卸载

** 执行

rm -rf /usr/local/include/opencv2

删除以下文件

/usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*

其他可以再百度以下

qt 配置

.pro文件中添加

QT -= gui CONFIG += c++11 console CONFIG -= app_bundle TEMPLATE = app

//如果 opencv3, 有 opencv 和opencv2 两文件夹:

INCLUDEPATH += /usr/local/include \ /usr/local/include/opencv4/opencv \ /usr/local/include/opencv4/opencv2

如果opencv4 则在opencv4 文件夹下只有opencv2文件夹:

INCLUDEPATH += /usr/local/include/opencv4

ps: #opencv4 安装后只有一个文件夹

qt 工程测试

#include <QCoreApplication> #include "opencv2/core.hpp" #include "opencv2/imgproc.hpp" #include "opencv2/highgui.hpp" #include "opencv2/videoio.hpp" #include <iostream> using namespace cv; using namespace std; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); cout << "Built with OpenCV " << CV_VERSION << endl; Mat image; VideoCapture capture; bool isOpen = capture.open("/dev/video0"); capture.release(); isOpen = capture.open("/dev/video0"); if(isOpen) { cout << "Capture is opened" << endl; for(;;) { capture >> image; if(image.empty()) break; imshow("Sample", image); if(waitKey(27) >= 0) break; } } else { cout << "No capture" << endl; } return a.exec(); }

运行

eclipse 配置

新建 C++ 工程选择project->properties,在“C/C++ Build->Settings”里的“GCC C++ Compiler”和“GCC C Compiler”里的include 中添加头文件路径, 这个路径很重要,错了后,容易找不到 头文件,比如: #include "opencv2/core.hpp" #include "opencv2/imgproc.hpp" #include "opencv2/highgui.hpp" #include "opencv2/videoio.hpp"

总是报 no such file … 。 那么 这里该填什么呢? 答: 填上 终端中,用 pkg-config opencv/ opencv4 --cflags 显示的路径。

比如:: 添加opencv库路径: 同理:

ps: 注意上图中,下半部分,库的路径。和–libs配置也有关系哟。

还有一处:在GCC c compliler 中的miscellaneous 中添加: -std=c++11 注意与前面内容 空格隔开

遇见的问题:

1 opencv 重要的头文件 找不到 , no such file 一般是include 路径配置, lib路径配置不对

2 没有语法错误, 但makefile 报错

makefile中, “@echo ‘Building target: $@’” 报错。

原因: GCC C++ Linker 的Libraries(-l)中的库名称与实际不符,按照 `

pkg-config opencv4 --libs`

显示内容,添加就没有报以上问题了。 推测更库的顺序无关。

3 编译通过,没有任何报错,就是没有可执行文件产生 原因: 应该是版本配置不对应引起。 我遇到的现象就是安装opencv3后 opencv4配置的工程就无法产生可执行文件了。具体原希望高手指点。

原创不易,本文参考了以下文章,感谢其作者: https://www.cnblogs.com/eczhou/p/7860598.html https://blog.csdn.net/zhuiqiuk/article/details/77096074 https://www.cnblogs.com/herd/p/10593437.html https://blog.csdn.net/haoqimao_hard/article/details/82049565 https://blog.csdn.net/wanzhen4330/article/details/82622664

最新回复(0)