Ubuntu下安装opencv需要以下几步:
1. 首先,在安装opencv之前需要安装一些相关的依赖包或软件,当然,有些软件是ubuntu自带的,再安装一下也无妨,若已经安装,只会检查更新,若已经是最新版则什么也不做,下面进行依赖库的安装:
sudo apt-get install build-essential cmake pkg-config libgtk2.0-dev libavcodec-dev libavformat-dev libtiff4-dev libswscale-dev libjasper-dev
2. 下载opencv源码及编译安装
git clone git://github.com/opencv/opencv.git
然后进入opencv目录,在该目录下会有一个CMakeLists.txt,然后在该目录下打开命令行终端,输入
cmake .
使用cmake来检测编译环境以及生成makefile以及其他project信息,在使用cmake过程可以设置一些参数。
然后执行
make
sudo make install
在第2步的过程中,可以在opencv的目录下另建一个文件夹,用于存放编译的结果,如下操作:
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. //注意CMakeList.txt在上一层文件夹
然后进行make编译和install,值得注意的是,这里指定了编译的目录/usr/local,在这个目录下的include和lib文件夹下分别是opencv的头文件和库文件,在配置集成开发环境的时候会用到。
3. 环境配置
可编辑文本配置部分:/etc/ld.so.conf.d/ 添加 opencv.conf 文件,记录库安装位置;更新配置
$ cd /etc/ld.so.conf.d
$ sudo vi opencv.config
// insert "/usr/local/lib" :q
$ sudo ldconfig
在这之后,要说明两点的就是,PKG_CONFIG_PATH 环境变量的配置,有两种方法:
其一是在/etc/bash.bashrc 中配置PKG_CONFIG_PATH 环境变量:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
$ source bash.bashrc //使环境变量生效
其二是在 /etc/profile 中添加:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
(貌似,在第3步的环境配置过程并不需要,只要 make install 就会在/usr/local/lib/pkgconfig下面产生opencv.pr的包含、链接配置)。
检查包含、链接配置是否正确:
$ pkg-config opencv --cflags --libs
$ -I/usr/local/include/opencv -I/usr/local/include /usr/local/lib/libopencv_calib3d.so /usr/local/lib/libopencv_core.so /usr/local/lib/libopencv_features2d.so /usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_highgui.so /usr/local/lib/libopencv_imgcodecs.so /usr/local/lib/libopencv_imgproc.so /usr/local/l ib/libopencv_ml.so /usr/local/lib/libopencv_objdetect.so /usr/local/lib/libopencv_photo.so /usr/local/lib/libopencv_shape.so /usr/local/lib/libopencv_stitch ing.so /usr/local/lib/libopencv_superres.so /usr/local/lib/libopencv_ts.a /usr/local/lib/libopencv_video.so /usr/local/lib/libopencv_videoio.so /usr/local/l ib/libopencv_videostab.so
4. 测试
opencv目录下找到 samples/c/build_all.sh,运行该文件
$ ./build_all.sh
此步若编译不成功,则把第3步省略的环境配置过程加上。
以下是关于qtcreator集成开发环境配置opencv并进行测试过程:
1. 首先是qtcreator的安装:
$ sudo apt-get install qtcreator
2. 打开qtcreator,在工具->选项下进行设置,主要是设置Qt的版本,这个会自动检测,貌似Ubuntu本身已安装Qt,如下进行配置,在此过程可能需要安装一下GCC或g++,它们在Ubuntu 16.04LTS版本貌似默认安装的:
此后可以建立工程了:
然后需要配置一个与工程同名的pro文件,如打开untitled03.pro文件,加入如下内容:
NCLUDEPATH += /usr/local/include/opencv \
/usr/local/include/opencv2 \
/usr/local/include
#LIBS += /usr/local/lib/libopencv_video.so \
# /usr/local/lib/libopencv_ts.a \
# /usr/local/lib/libopencv_objdetect.so \
# /usr/local/lib/libopencv_ml.so \
#/usr/local/lib/libopencv_legacy.so \
#/usr/local/lib/libopencv_core.so \
#/usr/local/lib/libopencv_features2d.so \
#/usr/local/lib/libopencv_imgproc.so \
#/usr/local/lib/libopencv_highgui.so \
#/usr/local/lib/libopencv_gpu.so \
#/usr/local/lib/libopencv_flann.so \
#/usr/local/lib/libopencv_contrib.so \
#/usr/local/lib/libopencv_calib3d.so
LIBS += -lopencv_core\
-lopencv_imgproc\
-lopencv_highgui\
-lopencv_ml\
-lopencv_video\
-lopencv_features2d\
-lopencv_calib3d\
-lopencv_objdetect\
-lopencv_contrib\
-lopencv_legacy\
-lopencv_flann
在上述中,LIBS注释部分与非注释部分的效果一样。
opencv测试代码:
#include <stdio.h>
#include<highgui.h>
using namespace cv;
int main( )
{
Mat image;
image = imread("lena.bmp");
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
上述代码在执行的时候,会出现无法显示图片的问题,是图片读入失败的问题,此处也是一个值得注意的地方,需把要读入的图片放入到如下命名规则下的文件夹内:
此后运行的时候便能显示图片了,以下是运行结果:
至此,ubuntu下安装opencv及qtcreator集成开发环境配置过程结束。
参考资料:1. http://blog.csdn.net/surgewong/article/details/39078251
2. http://www.cnblogs.com/lyutian/p/4425956.html
3. http://blog.csdn.net/hw5226349/article/details/38233671
4. http://blog.csdn.net/niuwei22007/article/details/50448101