安装opencv3.4.5+opencv_contrib3.4.5详细教程

本人github

https://github.com/Bubble-water/deeplearning/blob/master/README.md

参考文章 

https://blog.csdn.net/fengxinzioo/article/details/88740915

首先opencv和opencv_contrib下载版本要一致!!!!!

网上很多教程都没有提到要下载对应版本的contrib版本,我前几次安装出现了很多问题,这次特意将自己安装教程和一些安装注意点总结出来。

opencv3.4.5官网安装教程

 

文件准备:

1.opencv3.4.5版本下载

注意:选择 clone or download 的版本,不一定是你需要的。还容易混淆版本,主要容易出错

opencv下载官网https://opencv.org/releases.html

本文下载的是opencv3.4.5,如下图所示:

2.opencv_contrib3.4.5版本下载,选择release

注意:选择 clone or download 的版本,不一定是你需要的。还容易混淆版本,主要容易出错

opencv_contirb网址https://github.com/opencv/opencv_contrib

安装开始:

1.更新一下子

 
  1. sudo apt-get update

  2. sudo apt-get upgrade

2.先安装以下依赖包

 
  1. sudo apt-get install build-essential

  2.  
  3. sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

  4.  
  5. sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

  6.  
  7. sudo apt-get install build-essential qt5-default ccache libv4l-dev libavresample-dev libgphoto2-dev libopenblas-base libopenblas-dev doxygen openjdk-8-jdk pylint libvtk6-dev

  8.  
  9. sudo apt-get install pkg-config

3.解压下载好的包:

 
  1. sudo unzip opencv-3.4.5.zip

  2. sudo unzip opencv_contrib-3.4.5.zip

4.解压完后需要将opencv_contrib-3.4.5.zip提取到opencv-3.4.5目录下,同时在该目录下新建一个文件夹build

 
  1. sudo cp -r opencv_contrib-3.4.5 opencv-3.4.5 #复制opencv_contrib到opencv目录下

  2.  
  3. cd opencv-3.4.5

  4.  
  5. sudo mkdir build #新建文件夹build

5.现在进入到opencv-3.3.1目录下,查看文件结构:

 
  1. #ls

  2.  
  3. 3rdparty cmake data LICENSE platforms

  4. apps CMakeLists.txt doc modules README.md

  5. build CONTRIBUTING.md include opencv_contrib-3.4.5 samples

6.进入build目录,并且执行cmake生成makefile文件:

 
  1. cd build

  2. sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv-3.4.5/opencv_contrib-3.4.5/modules/ -D OPENCV_ENABLE_NONFREE=True ..

注意:OPENCV_EXTRA_MODULES_PATH就是你 opencv_contrib-3.3.1下面的modules目录,请按照自己的实际目录修改地址。还有后面的两点不可省略!!

-DOPENCV_ENABLE_NONFREE=True这个非常重要,这个是安装opencv专利模块的语句。

但是在这个过程中会出现问题:

IPPICV 和 face_landmark_model.dat下载不下来的问题

参考下面博客修改一些文件,但是注意一下opencv3.4.5ippicv为ippicv_2019_lnx_intel64_general_20180723,所需要的这两个文件已经上传到百度云中:

https://blog.csdn.net/CSDN330/article/details/86747867

 

链接:https://pan.baidu.com/s/1SPLRWlIGlRf0YMri2l7MOQ 
提取码:haas 

接下来就是漫长的等待了…

生成完毕提示类似如下:

 
  1. -- Install path: /usr/local

  2. --

  3. -- cvconfig.h is in: /home/files/opencv-3.4.5/build

  4. -- -----------------------------------------------------------------

  5. --

  6. -- Configuring done

  7. -- Generating done

  8. -- Build files have been written to: /home/files/opencv-3.4.5/build

7.在cmake成功之后,就可以在build文件下make了:

sudo make -j4 #4线程编译,可以根据你的情况设定线程数

接下来就是更漫长的等待了…具体时间因人而异,我的电脑跑了1个小时。如果看到下图,说明成功了。

 

 

sudo make install

 结果图如下:

8.配置环境变量

(1)安装成功后还需要设置opencv的环境变量。打开文件:

sudo gedit /etc/ld.so.conf.d/opencv.conf

(2)将空白文档中添加以下内容:

/usr/local/lib

(3)接下来配置库:

sudo ldconfig

(4)更改环境变量:

sudo gedit /etc/bash.bashrc

(5)在文件后添加:

 
  1. PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 

  2. export PKG_CONFIG_PATH

或者添加:

 
  1. export PKG_CONFIG_PATH=/usr/local/opencv/lib/pkgconfig 

  2. export LD_LIBRARY_PATH=/usr/local/opencv/lib 

(6)保存退出,在运行下面的例程之前,需要重新开启终端来使配置生效。

现在来测试opencv3.4.5和opencv_contrib3.4.5是否安装成功

测试文档已经上传到百度云:

链接:https://pan.baidu.com/s/1EG8Hz9SnSnhgPBaSC3VJvA 
提取码:uf2u 

1.创建工作目录

 
  1. mkdir ~/test

  2. cd ~/test

  3. gedit Image_show.cpp

2. Image_show.cpp编译如下代码

 
  1. #include <iostream>

  2. #include <opencv2/opencv.hpp> //头文件

  3. #include <opencv2/xfeatures2d.hpp>

  4. using namespace cv; //包含cv命名空间

  5. using namespace std;

  6.  
  7. int main()

  8. {

  9. //Create SIFT class pointer

  10. Ptr<Feature2D> f2d = xfeatures2d::SIFT::create();

  11. //读入图片

  12. Mat img_1 = imread("1.jpg");

  13. Mat img_2 = imread("2.jpg");

  14. //Detect the keypoints

  15. vector<KeyPoint> keypoints_1, keypoints_2;

  16. f2d->detect(img_1, keypoints_1);

  17. f2d->detect(img_2, keypoints_2);

  18. //Calculate descriptors (feature vectors)

  19. Mat descriptors_1, descriptors_2;

  20. f2d->compute(img_1, keypoints_1, descriptors_1);

  21. f2d->compute(img_2, keypoints_2, descriptors_2);

  22. //Matching descriptor vector using BFMatcher

  23. BFMatcher matcher;

  24. vector<DMatch> matches;

  25. matcher.match(descriptors_1, descriptors_2, matches);

  26. //绘制匹配出的关键点

  27. Mat img_matches;

  28. drawMatches(img_1, keypoints_1, img_2, keypoints_2, matches, img_matches);

  29. imshow("【match图】", img_matches);

  30. imwrite("final.jpg",img_matches);

  31. //等待任意按键按下

  32. waitKey(0);

  33. }

3. 在test文件夹下创建CMake文件

gedit CMakeLists.txt

写入如下内容

 
  1. cmake_minimum_required(VERSION 2.8)

  2. project( test )

  3. find_package( OpenCV REQUIRED )

  4. add_executable( test Image_show.cpp )

  5. target_link_libraries( test ${OpenCV_LIBS} )

4. 编译

 
  1. cd ~/test

  2. cmake .

  3. make

 5. 执行
  此时test文件夹中已经产生了可执行文件test,下载1.jpg和2.jpg放在test文件夹下,运行

./test

 6. 结果

图1.jpg:

  

图2.jpg: 

参考自:

https://blog.csdn.net/xiangxianghehe/article/details/78780269

https://blog.csdn.net/u012704941/article/details/80396249

https://blog.csdn.net/qq_28467367/article/details/87933947

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值