由于之前安装了ORS,其中带有opencv2,现在学习视觉十四讲,需要安装opencv3,2与3会冲突,故写文以了解多版本OpenCV并存。
建议:先整体过一遍安装流程,再一步步执行操作。
如 系统中之前没有安装opencv版本,可直接参考此博文
- 首先,下载Opencv3.1.0的源码 此处百度云盘链接
- 下载并解压
unzip opencv-3.1.0.zip //也可以直接提取文件
安装 OpenCV 的依赖项:
sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff4-dev libjasper-dev
libopenexr-dev libtbb-dev
- 进入解压好的文件夹,在此目录下打开终端, 我用cmake-gui进行安装,感觉比较直观。
mkdir build
cd build
cmake-gui ..
- cmake-gui执行的时候,会出现cmake的configure界面,在configure中选择默认设置即可,直接执行confugure。Error出现了,放心别怕,此乃正常现象。解决方法在此:因为 opencv3要下载一个ippicv的第三方包,直接下比较慢,可以自己下后,放到3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e里即可。
ippicv_linux_20151201.tgz 此处百度云盘链接 - 执行完上一步操作之后,再次configure,会看到configure done ,完成。
- 先别着急generate,在之后的安装配置中,我把CMAKE_INSTALL_PREFIX 改为/usr/local/opencv3,(此时在该目录下没有opencv3文件夹,但是直接这样操作即可,会自动生成)之后generate,会看到generate done。
- 继续进行
make #编译 //此步需要漫~长~的等待,差不多20/30分钟样子
sudo make install #安装
安装可算是结束了,别急,继续往下看。
- Opencv3库的头文件和库文件默认安装在"/usr/local/opencv3"目录下。
- 当自己所写的程序使用到opencv3时,在CMakeLists.txt中添加OpenCV库的头文件和库问价,即 在 FIND_PACKAGE( OpenCV REQUIRED ) 前,添加
set(OpenCV_DIR "usr/local/opencv3/share/OpenCV")
这样计算机就找到opencv3的对应头文件和库文件了,如果继续使用opencv2,不添加这一句就可以,如下:
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS}) #添加头文件目录
add_executable( imageBasics imageBasics.cpp) #添加可执行文件
target_link_libraries( imageBasics ${OpenCV_LIBS} ) #添加库文件目录