在Ubuntu上安装OpenCV
在Ubuntu 16.04 上安装OpenCV
1.安装好需要的第三方环境
依次执行下面的命令来安装
1.1安装compiler
[email protected]:~$sudo apt-get install build-essential
1.2安装所需的库
[email protected]:~$sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-devlibavformat-dev libswscale-dev
1.3安装可选库(这条命令是可选的)
[email protected]:~$sudo apt-get install python-dev python-numpy libtbb2 libtbb-devlibjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
2.使用cmake编译源码(包括opencv_contrib部分)
源码可以从github上下载(https://github.com/opencv/opencv, https://github.com/opencv/opencv_contrib)
2.1执行下面的命令解压opencv.zip和opencv_contrib.zip获得源文件
[email protected]:~$unzip opencv.zip
[email protected]:~$unzip opencv_contrib.zip
解压完后会看到下面的根目录结构
2.2依次执行下面的命令编译源码
[email protected]:~$cd opencv
[email protected]:~/opencv$mkdir build
[email protected]:~/opencv$cd build
[email protected]:~/opencv/build$cmake -D CMAKE_BUILD_TYPE=Release -DOPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules/ -DCMAKE_INSTALL_PREFIX=/usr/local ..
看到下面红色矩形框内的信息代表cmake成功
2.3编译安装
执行下面的命令来安装
[email protected]:~$make -j7 && make install
执行过程中遇到了下面的错误,用su命令切换到root用户后再重新执行make -j7 && make install
安装好后会看到下面的库文件
修改文件/etc/ld.so.conf使OpenCV在运行时能够找到上面的库
在该文件里加入下面红色矩形框内所示的行
运行动态链接管理命令ldconfig,使系统能找到上面的动态链接库
3.运行测试代码
3.1编写测试代码
创建源文件test_opencv.cpp
[email protected]:~$sudo vi test_opencv.cpp
编写源代码:
#include <iostream>
#include<opencv2/highgui/highgui.hpp>
using namespace std;
int main(int argc, char*argv[])
{
const std::stringwindow_name = "lena";
const std::string input_pic = "lena.jpg";
cv::Mat test_pic =cv::imread(input_pic);
if(test_pic.empty()){
std::cout<<"noinput image"<<std::endl;
return -1;
}
cv::namedWindow(window_name);
cv::imshow(window_name,test_pic);
cv::waitKey(0);
return 0;
}
保存后退出vi
3.2编译源代码
执行下面的命令编译源代码
[email protected]:~$g++ -o test_opencv test_opencv.cpp -lopencv_core -lopencv_highgui -lopencv_imgcodecs
成功后生成可执行文件test_opencv
3.3运行测试代码
运行可执行文件test_opencv
[email protected]:~$./test_opencv
可以看到如下图所示的结果