安装依赖
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install checkinstall yasm libtiff5-dev libjpeg-dev libjasper-dev libdc1394-22-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils libeigen3-dev
下载openCV
下载完后解压。
安装openCV
cd opencv-3.1.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
在此过程中,如果网速不太好的时候很有可能会出现错误:ICV: Downloading ippicv_linux_20151201.tgz 超时。
可以提前将该文件下载好,ippicv_linux_20151201.tgz 下载。
下载完后替换opencv-3.1.0/3rdparty/ippicv/downloads/linux-*目录下的同名文件,重新cmake。
optional(显示指定一些编译内容):
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D ENABLE_FAST_MATH=1 -D WITH_CUDA=ON -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D CUDA_GENERATION=Auto -D WITH_GSTREAMER_0_10=OFF ..
然后在build目录下:
make -j4 #-j4表示四核运算,可根据电脑配置选择。
sudo make install
会有在make -j4遇到G++版本太高的问题,解决方法:
修改opencv-3.1.0目录下的CMakeList.txt文件,在开头加入
set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -D_FORCE_INLINES”)
然后重新cmake,再make -j4,再make install
如遇到‘NppiGraphcutState’ has not been declared,是opencv与cuda8.0不兼容导致的。解决方法:
在path/to/opencv/modules/cudalegacy/src/graphcuts.cpp中,把
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
改为
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION>=8000)
使用cmake-gui来编译opencv
除了上面命令行的安装方法,还可以使用cmake-gui来编译。
执行cmake-gui
打开 cmake gui界面,依次选择source code为opencv源文件,编译结果保存至~/opencv-3.1.0/release 文件夹下。注意参数列表中CMAKE_BUILD_TYPE 和CMAKE_INSTALL_PREFIFIX的设置。
最后点击configure->generate。
接下来进入目录:~/opencv3.1.0/release/,执行make和make install 命令即可完成opencv安装。
配置pkg-config
安装完成后,配置pkg-config,用于管理opencv安装库
sudo vim /etc/ld.so.conf
将下面的目录 /usr/local/lib 添加到文件中
sudo ldconfig -v
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
使用以下命令查看pkg-config配置信息:
pkg-config --libs opencv
测试opencv安装是否成功
测试程序采用opencv自带的sample:
cd ~/opencv-3.1.0/samples/ #根据自己的实际目录进行选择
cmake .
make
cd cpp/
里面就是刚刚make的文件,可以选择几个可执行文件进行执行,测试opencv是否安装成功。
多版本的处理
如果你又装了opencv2.4.9和opencv3.1.0,并且在你的工程里指定使用opencv3.1.0,在你的cmakelist.txt中修改:
# 寻找OpenCV库
find_package( OpenCV REQUIRED ) //修改成:find_package( OpenCV 3.1 REQUIRED ),也就是加上版本号!
# 添加头文件
include_directories( ${OpenCV_INCLUDE_DIRS} )
# 并将可执行文件链接OpenCV库
target_link_libraries( imageBasics ${OpenCV_LIBS} )