在网上找了很多资料,终于把opencv3.2.0在ubuntu16.04下安装成功了,由于使用qt作为开发工具,这里也顺便介绍下qt的安装与配置。
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、安装cmake
执行如下命令:
sudo apt-get install cmake
3、安装pkg-config
执行如下命令:
sudo apt-get install pkg-config
4、安装qt
执行如下命令:
sudo apt-get install cmake qt5-default qtcreator
5、下载opencv源码
在opencv官网(http://opencv.org/opencv-3-2.html)下载opencv源码。
6、解压
将源码拷到编译目录下,执行如下命令:
tar xvf opencv-3.2.0.tar.gz
并执行下面命令,进入解压文件:
cd opencv-3.2.0/
7、编译与安装
执行如下命令,在源码文件夹下新建编译文件夹build,进入build,使用cmake进行编译,指定安装文件夹前缀(CMAKE_INSTALL_PREFIX)
mkdir buildcd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
注意:cmake编译时,会临时从网络上下载第三方依赖库,因此要保证网络的畅通,如果网速过慢,长时间下载不完,cmake也会报错,经常会用到的是ippicv_linux_20151201.tgz。
如果长时间下载不成功,可以自行下载(下载地址),然后手动放入opencv源码文件夹下的3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/文件夹中,再使用cmake进行编译。
Cmake编译成功后,执行如下命令,进行编译和安装:
make
sudo make install
8、配置
在/etc/ld.so.conf.d 目录下增加一个conf文件(可以命名为 opencv.conf),添加/usr/local/lib(这个跟安装目录有关, {CMAKE_INSTALL_PREFIX}/lib)
保存,退出后,执行如下命令:
sudo ldconfig
接着,执行如下命令
sudo gedit /etc/bash.bashrc
在最后添加环境变量:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
保存,退出
至此,opencv3.2.0配置安装完成。下面在qt下进行测试。
9、测试
打开qtcreator,新建一个控制台程序。
将如下代码考入mian.cpp文件中:
//#include
#include
int main(/*int argc, char *argv[]*/)
{
//QCoreApplication a(argc, argv);
cv::Mat image = cv::imread("/home/philos/work/Images/Hepburn.png", cv::IMREAD_COLOR);
cv::imshow("Hepburn",image);
cv::waitKey(0);
return 0;
//return a.exec();
}
QT += core
QT -= gui
TARGET = opencv_test
CONFIG += console
CONFIG -= app_bundle
INCLUDEPATH += /usr/local/include \
/usr/local/include/opencv \
/usr/local/include/opencv2
LIBS += /usr/local/lib/libopencv_highgui.so \
/usr/local/lib/libopencv_core.so \
/usr/local/lib/libopencv_imgproc.so \
/usr/local/lib/libopencv_imgcodecs.so
TEMPLATE = app
SOURCES += main.cpp