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

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

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

1 opencv 下载

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

2 opencv3 安装

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

Ubuntu下 opencv 卸载、重新安装总结_第1张图片

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

ps: 只是注意 在编译opencv 过程中, opencv_contrib的路径。
Ubuntu下 opencv 卸载、重新安装总结_第2张图片

配置opencv

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

  1. /usr/local/lib
  2. sudo ldconfig
  3. 配置环境变量
   export PATH=$PATH:/usr/local/include/opencv4
     export LD_LIBRARY_PATH=/usr/local/lib
  1. 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 

#include "opencv2/core.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/videoio.hpp"
#include 

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();
}

运行
Ubuntu下 opencv 卸载、重新安装总结_第3张图片

eclipse 配置

  1. 新建 C++ 工程
  2. 选择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 显示的路径。

比如::
在这里插入图片描述
Ubuntu下 opencv 卸载、重新安装总结_第4张图片
添加opencv库路径:
同理:

Ubuntu下 opencv 卸载、重新安装总结_第5张图片
Ubuntu下 opencv 卸载、重新安装总结_第6张图片

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

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

Ubuntu下 opencv 卸载、重新安装总结_第7张图片

遇见的问题:

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

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

Ubuntu下 opencv 卸载、重新安装总结_第8张图片
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

你可能感兴趣的:(linux编程,opencv,linux,qt,eclipse)