在ubuntu下安装opencv_2.4.13。目前最新的版本是3。但2.4算是稳定版本了。
系统环境:ubuntu16.04.2_amd32
时间:2017.7.7
博客主页:http://blog.csdn.net/xs1102
文章地址:http://blog.csdn.net/xs1102/article/details/74729416
1、下载源代码
先从官网下载源代码:http://opencv.org/releases.html,如果以后网址改变,请自行搜索。将源代码解压到主目录下,压缩包内自带一级文件夹,不用担心文件散落一地。
2、安装依赖项
apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev
以上是基本的依赖项,基本可以保证编译不出错。其他依赖库可以安装,来增强opencv的功能。不安装则不编译相关模块。
3、编译安装
建立build目录,在build目录中配置项目。默认安装到/usr/local目录下。
cmake
或者
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON .
可以使用4个线程编译,请根据自己的情况选择,i5启用4个线程,就基本做不了其他事了。默认-j1
make -j4
安装
make install
安装完成。
==========================================================================
2018.04.11更新:
如果需要一并安装扩展模块,可以下载对应版本的opencv-contrib,然后在cmake中设置“OPENCV_EXTRA_MODUALS_PATH”其参数值为opencv_contrib源码包中的modules目录。
opencv_contrib下载地址:https://github.com/opencv/opencv_contrib/releases
==========================================================================
2018.07.02更新:
修正以前的笔误,扩展模块参数名为OPENCV_EXTRA_MODULES_PATH,拼写错误
==========================================================================
2018.10.06更新:
若编译DEBUG版本的opencv:
需要将CMAKE_BUILD_TYPE改为DEBUG,并且将WITH_TBB改为BUILD_TBB,因为下载的TBB库时release的,opencv会报错的。若有其他找不到debug版本库的错误,也将其选项做类似修改。
若编译时出现
/usr/bin/ld: /usr/local/lib/libgflags.a(gflags.cc.o): relocation R_X86_64_32 against `__pthread_key_create@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libgflags.a: error adding symbols: Bad value
这是gflags库的问题,重新编译gflags的动态库和静态库。以下是编译命令。注意:这是编译gflags的命令!
mkdir build && cd build
cmake -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON ..
make && make install
若glog也有类似问题,灵活变通一下。
==========================================================================
2019.05.23更新:
若使用CUDA加速,在cmake命令的参数中添加以下几个参数
-D WITH_CUDA=ON -D WITH_CUBLAS=ON -D CUDA_FAST_MATH=ON
,之后编译完成就可以使用GpuMat等功能,享受显卡带来的加速。