网上关于ubantu下安装opencv-2.4.9的教程有很多,不论是利用cmake指令进行安装还是cmake-gui安装也有不少,但是都不太适合我,我经过一些尝试之后终于在自己的虚拟机uabantu18上面安装成功opencv-2.4.9
一、更新和安装依赖项
照例进行系统更新,并且安装相应的软件包和依赖项,这里没什么好说的,网上的这一步都是大致一样的,即使有依赖项不一样的地方,都安装上肯定就没错了
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install cmake-qt-gui
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
记得要安装gcc
二、配置opencv
1.下载opencv-2.4.9 https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download
2.在系统中新建一个opencv文件夹,并且把压缩包放在里面并解压
3.在解压后的opencv-2.4.9文件夹中新建一个build文件夹,用于make
4.mkdir build
5.cd build
6.cmake-gui ..
7.由此打开了cmake-gui操作图形界面,上面的安装目录和来源都已经自动生成,也可以修改,点击configure
注意,这里第一次configure总是会出错,我参考了一个资料
找到文件夹里面opencv2.4.9/cmake/ OpenCVDetectCXXCompiler.cmake
把 “dumpversion” 改为“dumpfullversion”
https://blog.youkuaiyun.com/qq_28485501/article/details/84070269
其中好像还会出现几个小问题,暂时忘记了,但是不复杂,装几个安装包就可以,很容易找到解决方案,就不再这里记录了
8.第一次configure之后,进入配置
9.在CMAKE_BUILD_TYPE 值处输入RELEASE
10.有三个地方需要去掉打钩 ENABLE_PRECOMPILED_HEADERS
WITH_FFMPEG
WITH_TIFF
11.再一次configure
12.配置就完成了,可以generate
13.关掉cmake-gui,然后make,但是在80%多的时候总是出错,查找问题之后发现
https://blog.youkuaiyun.com/m0_38024766/article/details/78715016
在文件夹中找到这个文档build/modules/contrib/CMakeFiles/opencv_contrib.dir/flags.make,
删掉-Werror=address,然后重新make
make成功了
14.sudo make install
完成了以上安装步骤,下面就是配置环境
四、环境变量设置
1.打开文件
sudo gedit /etc/ld.so.conf.d/opencv.conf
2.将下面这个内容输入到文档中
/usr/local/lib
3.接下来配置库
sudo ldconfig
4.更改环境变量
sudo gedit /etc/bash.bashrc
5.在文件后添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
6.重启生效
五、测试
https://blog.youkuaiyun.com/surgewong/article/details/39078251
六、问题
在实际测试的时候,遇到一个找不到opencv函数的问题,需要增加库函数路劲
https://blog.youkuaiyun.com/chengy35/article/details/42738335
添加库函数路径
export LD_LIBRARY_PATH=$LD_LIBARARY_PATH:/usr/local/lib
然后在写命令的时候像这样
g++ -o sample sample.cpp `pkg-config --cflags --libs opencv`
运行
./sample