Ubuntu下 opencv 卸载、重新安装总结
Ubuntu下 opencv卸载、重新安装总结由于项目需要,需要卸载opencv3 重装opencv4,费了写时间,现就ubunut下,关于opencv的安装,卸载,以及qt 、eclipse工程配置做总结1 opencv 下载一般在[官网下载](https://opencv.org/),ps: 注意找到Linux相关安装包,不细说了。2opencv3 安装2.1 opencv 安装包一般包含op
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/lib
sudo 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)