由于项目要求,需要两个版本的opencv。其实安装两个版本的opencv 并不是很难,难就难在你是否细心去更改安装的路径。
(1)首先安装opencv2.4.13,以下链接下载opencv2.4.13https://github.com/Itseez/opencv/archive/2.4.13.zip
安装编译工具
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
cd opencv2.4.13
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j4//开启线程
sudo make install
然后再 进行以下命令配置环境
将opencv的库加入到路径,从而让系统可以找到
sudo gedit /etc/ld.so.conf.d/opencv.conf
末尾加入/usr/local/lib,保存退出
sudo ldconfig 使配置生效
sudo gedit /etc/bash.bashrc
末尾加入
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存退出
sudo source /etc/bash.bashrc #使配置生效
(该步骤可能会报错找不到命令,原因是source为root命令
su(进入root权限)
输入密码
source /etc/bash.bashrc
Ctrl+d(推迟root)
sudo updatedb #更新database
安装好opencv2.4.13之后,我的电脑是默认安装再/usr/include 路径下
(2)安装opencv3.2.0
首先安装以下依赖
$ 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 # 处理图像所需的包
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install libxvidcore-dev libx264-dev # 处理视频所需的包
$ sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能
$ sudo apt-get install ffmpeg
其次要将opencv2.4.13和opencv3.2.0分开,我的办法是在/usr 路径下新建一个local1,然后将opencv3.2.0 的CMakeLists.txt中
的安装路径"/usr/local"修改成自己设定的路径,"/usr/local1"。然后进行
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local1 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 ..
注意,进行cmake的时候,一定要将路径改过来(!!!!!!!!!)
注意,进行cmake的时候,一定要将路径改过来(!!!!!!!!!)
注意,进行cmake的时候,一定要将路径改过来(!!!!!!!!!)
重要的事情说三遍!!
make -j4
sudo make install
紧接着需要配置下文件,通过修改bashrc文件来设置PKG_ CONFIG_PATH(后来发现好像还需要改一下LD_LIBRARY_PATH)sudo gedit ~/.bashrc
在文件末尾加上 export PKG_CONFIG_PATH=/usr/local/opencv320/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv320/lib
保存之后,再使用命令source ~/.bashrc
这时候使用命令,opencv版本已经变成3.2了pkg-config --modversion opencv
(3)用opencv2.4.13和opencv3.2.0进行编程
opencv2.4.13是默认的路径,不需要更改
cmake_minimum_required(VERSION 2.6)
project(SAD)
find_package(OpenCV REQUIRED)
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
add_executable(SAD main.cpp)
target_link_libraries(SAD ${OpenCV_LIBS})
Opencv3.2.0,CMakeLists.txt需要修改opencv的路径
cmake_minimum_required(VERSION 2.6)
project(SAD)
#find OpenCVConfig.cmake 's location
set(OpenCV_DIR /usr/local1/opencv320/share/OpenCV)
find_package(OpenCV REQUIRED)
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
add_executable(SAD main.cpp)
target_link_libraries(SAD ${OpenCV_LIBS})