ubuntu16.04下opencv3.2和opencv_contrib编译安装
2018-01-25 19:58
337 查看
1.需要的包:
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
2.下载安装包opencv-3.0.0.zip, opencv_contrib-3.2.0.zip
上opencv官网下载http://opencv.org/。
解压安装包到你想要的地方,本文以存放主文件加下。
例如 /home/imagealg/software/opencv/
3. 利用终端进入opencv3文件夹,代码如下:
cd ~/opencv-3.0.0
4. 新建build文件夹存放opencv的编译文件,进入build文件夹代码如下
mkdir build
cd build
5. 配置opencv文件,代码如下:
不安装opencv_contrib-3.2.0
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
安装opencv_contrib-3.2.0
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/imagealg/software/opencv/opencv_contrib-3.2.0/modules/ ..
或者使用cmake-gui用图形界面编译。
其中/usr/local 是指将要install的路径,一般默认为/usr/local
其中OPENCV_EXTRA_MODULES_PATH=/home/user/opencv_contrib-3.2.0/modules/ .. 是指opencv_contrib-3.2.0中modules所在的路径,后面的两点不可省略
cmake过程中可能遇到的问题:
如果网络不好,出现ippicv_linux_20151201.tgz无法在终端下载的情况,则可以先单独下载ippicv_linux_20151201.tgz之后,把其移动到终端所提示的路径(终端会提示该路径找不到文件),如路径/opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/
移动的时候,可以另外打开一个终端操作:
sudo mv ippicv_linux_20151201.tgz /opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e
如果同样有其他类似的文件无法下载,方法同上。
for file: [/DATA/software/opencv/opencv-3.2.0/opencv_contrib-3.2.0/modules/dnn/.download/bd5e3eed635a8d32e2b99658633815ef/v3.1.0/protobuf-cpp-3.1.0.tar.gz]
6. 进行编译,代码如下:
sudo make -j4
7. 安装opencv库到系统,代码如下:
sudo make install
这样OpenCV就可以使用了。
8 配置opencv.conf file ,加入环境变量
sudo gedit /etc/ld.so.conf.d/opencv.conf
在opencv.conf里面加入命令
/usr/local/lib
更新库目录
sudo ldconfig
打开文件bash.bashrc
sudo gedit /etc/bash.bashrc
加入下面两行
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
9 最后 sudo ldconfig -v 如果有共享库输出的话,就证明成功了。
10 程序测试
编译不通过请注销或者重启电脑试试
测试代码:opencvtest.cpp
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("dazu.jpg");
if(img.empty())
{
cout<<"error";
return -1;
}
imshow("mypic",img);
waitKey();
return 0;
}
注意:linux下面的目录形式为/.../....
所以“#include <opencv2\core\core.hpp>” 会找不到头文件
编译方式:
1 命令行
g++ opencvtest.cpp -o opencvtest `pkg-config --cflags --libs opencv`
2 借助cmake,写CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
project(opencvtest)
find_package( OpenCV REQUIRED )
add_executable( opencvtest opencvtest.cpp )
target_link_libraries( opencvtest ${OpenCV_LIBS} )
之后 执行
cmake .
make
运行
./ opencvtest
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
2.下载安装包opencv-3.0.0.zip, opencv_contrib-3.2.0.zip
上opencv官网下载http://opencv.org/。
解压安装包到你想要的地方,本文以存放主文件加下。
例如 /home/imagealg/software/opencv/
3. 利用终端进入opencv3文件夹,代码如下:
cd ~/opencv-3.0.0
4. 新建build文件夹存放opencv的编译文件,进入build文件夹代码如下
mkdir build
cd build
5. 配置opencv文件,代码如下:
不安装opencv_contrib-3.2.0
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
安装opencv_contrib-3.2.0
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/imagealg/software/opencv/opencv_contrib-3.2.0/modules/ ..
或者使用cmake-gui用图形界面编译。
其中/usr/local 是指将要install的路径,一般默认为/usr/local
其中OPENCV_EXTRA_MODULES_PATH=/home/user/opencv_contrib-3.2.0/modules/ .. 是指opencv_contrib-3.2.0中modules所在的路径,后面的两点不可省略
cmake过程中可能遇到的问题:
如果网络不好,出现ippicv_linux_20151201.tgz无法在终端下载的情况,则可以先单独下载ippicv_linux_20151201.tgz之后,把其移动到终端所提示的路径(终端会提示该路径找不到文件),如路径/opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/
移动的时候,可以另外打开一个终端操作:
sudo mv ippicv_linux_20151201.tgz /opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e
如果同样有其他类似的文件无法下载,方法同上。
for file: [/DATA/software/opencv/opencv-3.2.0/opencv_contrib-3.2.0/modules/dnn/.download/bd5e3eed635a8d32e2b99658633815ef/v3.1.0/protobuf-cpp-3.1.0.tar.gz]
6. 进行编译,代码如下:
sudo make -j4
7. 安装opencv库到系统,代码如下:
sudo make install
这样OpenCV就可以使用了。
8 配置opencv.conf file ,加入环境变量
sudo gedit /etc/ld.so.conf.d/opencv.conf
在opencv.conf里面加入命令
/usr/local/lib
更新库目录
sudo ldconfig
打开文件bash.bashrc
sudo gedit /etc/bash.bashrc
加入下面两行
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
9 最后 sudo ldconfig -v 如果有共享库输出的话,就证明成功了。
10 程序测试
编译不通过请注销或者重启电脑试试
测试代码:opencvtest.cpp
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("dazu.jpg");
if(img.empty())
{
cout<<"error";
return -1;
}
imshow("mypic",img);
waitKey();
return 0;
}
注意:linux下面的目录形式为/.../....
所以“#include <opencv2\core\core.hpp>” 会找不到头文件
编译方式:
1 命令行
g++ opencvtest.cpp -o opencvtest `pkg-config --cflags --libs opencv`
2 借助cmake,写CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
project(opencvtest)
find_package( OpenCV REQUIRED )
add_executable( opencvtest opencvtest.cpp )
target_link_libraries( opencvtest ${OpenCV_LIBS} )
之后 执行
cmake .
make
运行
./ opencvtest
相关文章推荐
- ubuntu16.04下opencv3.2和opencv_contrib编译安装
- window10 编译安装opencv3.2+contrib
- Ubuntu16.04+opencv3.4.0+opencv_contrib3.4.0+CUDA9.0 编译安装
- opencv3.2 在Ubuntu下的编译安装
- ubuntu14.04 编译安装OpenCV 3.2
- ubuntu 14.04+opencv+opencv_contrib-3.1.0编译安装
- ubuntu16.04下编译安装OpenCV
- Ubuntu 16.04编译安装最新的OpenCV3.2
- Ubuntu 16.04编译安装最新的OpenCV3.2
- ubuntu14.04 /16.04 编译安装OpenCV 3.2
- ubuntu14.04 64位 opencv3.20 和 opencv_contrib-3.2.0编译安装
- opencv3.2.0及contrib组件在Ubuntu 16.04下的安装
- Ubuntu16.04+python3.5+opencv3.3.1+opencv_contrib编译安装
- ubuntu16.04安装编译opencv3.2
- ubuntu16.04下卸载opencv2.4.9安装opencv3.2版本
- Ubuntu下opencv3.3和opencv_contrib的编译安装
- 基于ubuntu16.04下opencv3.2安装配置
- ubuntu 在opencv3.1基础上 安装3.2的版本,安装完成后。 。。编译代码出现的问题。
- 关于CMake编译Opencv3.2+contrib的错误总结
- Ubuntu 编译安装 opencv-2.4.8