ubuntu14.04安装opencv3.4.5+opencv_contrib3.4.5详细教程
原创Bubble_water 最后发布于2019-03-22 16:41:10 阅读数 1722 收藏
展开
本人github
首先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.更新一下子
sudo apt-get update
sudo apt-get upgrade
2.先安装以下依赖包
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
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
sudo apt-get install pkg-config
3.解压下载好的包:
sudo unzip opencv-3.4.5.zip
sudo unzip opencv_contrib-3.4.5.zip
4.解压完后需要将opencv_contrib-3.4.5.zip提取到opencv-3.4.5目录下,同时在该目录下新建一个文件夹build
sudo cp -r opencv_contrib-3.4.5 opencv-3.4.5 #复制opencv_contrib到opencv目录下
cd opencv-3.4.5
sudo mkdir build #新建文件夹build
5.现在进入到opencv-3.3.1目录下,查看文件结构:
#ls
3rdparty cmake data LICENSE platforms
apps CMakeLists.txt doc modules README.md
build CONTRIBUTING.md include opencv_contrib-3.4.5 samples
6.进入build目录,并且执行cmake生成makefile文件:
cd build
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/ -DOPENCV_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.youkuaiyun.com/优快云330/article/details/86747867
链接:https://pan.baidu.com/s/1SPLRWlIGlRf0YMri2l7MOQ
提取码:haas
接下来就是漫长的等待了…
生成完毕提示类似如下:
– Install path: /usr/local
– cvconfig.h is in: /home/files/opencv-3.4.5/build
–
– Configuring done
– Generating done
– 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)在文件后添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
或者添加:
export PKG_CONFIG_PATH=/usr/local/opencv/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv/lib
(6)保存退出,在运行下面的例程之前,需要重新开启终端来使配置生效。
现在来测试opencv3.4.5和opencv_contrib3.4.5是否安装成功
测试文档已经上传到百度云:
链接:https://pan.baidu.com/s/1EG8Hz9SnSnhgPBaSC3VJvA
提取码:uf2u
1.创建工作目录
mkdir ~/test
cd ~/test
gedit Image_show.cpp
2. Image_show.cpp编译如下代码
#include
#include <opencv2/opencv.hpp> //头文件
#include <opencv2/xfeatures2d.hpp>
using namespace cv; //包含cv命名空间
using namespace std;
int main()
{
//Create SIFT class pointer
Ptr f2d = xfeatures2d::SIFT::create();
//读入图片
Mat img_1 = imread(“1.jpg”);
Mat img_2 = imread(“2.jpg”);
//Detect the keypoints
vector keypoints_1, keypoints_2;
f2d->detect(img_1, keypoints_1);
f2d->detect(img_2, keypoints_2);
//Calculate descriptors (feature vectors)
Mat descriptors_1, descriptors_2;
f2d->compute(img_1, keypoints_1, descriptors_1);
f2d->compute(img_2, keypoints_2, descriptors_2);
//Matching descriptor vector using BFMatcher
BFMatcher matcher;
vector matches;
matcher.match(descriptors_1, descriptors_2, matches);
//绘制匹配出的关键点
Mat img_matches;
drawMatches(img_1, keypoints_1, img_2, keypoints_2, matches, img_matches);
imshow("【match图】", img_matches);
imwrite(“final.jpg”,img_matches);
//等待任意按键按下
waitKey(0);
}
3. 在test文件夹下创建CMake文件
gedit CMakeLists.txt
写入如下内容
cmake_minimum_required(VERSION 2.8)
project( test )
find_package( OpenCV REQUIRED )
add_executable( test Image_show.cpp )
target_link_libraries( test ${OpenCV_LIBS} )
4. 编译
cd ~/test
cmake .
make
5. 执行
此时test文件夹中已经产生了可执行文件test,下载1.jpg和2.jpg放在test文件夹下,运行
./test
6. 结果
图1.jpg:
图2.jpg:
参考自:
https://blog.youkuaiyun.com/xiangxianghehe/article/details/78780269
https://blog.youkuaiyun.com/u012704941/article/details/80396249
https://blog.youkuaiyun.com/qq_28467367/article/details/87933947
————————————————
版权声明:本文为优快云博主「Bubble_water」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/fengxinzioo/article/details/88740915