1.概述
这次因项目需求编译安装了一下opencv3,查阅了网上很多资料,发现大多写的还是比较随意的,这里对此全部流程做了一次整合。
opencv在linux环境下的编译安装需要按照依赖关系顺序安装多个依赖库,依次为:yum依赖包——yasm——ffmpeg——ant——ippcv——opencv,以下安装将依照该次序进行。
2.编译安装流程
2.1 yum依赖包
l 配置epel源:
yum -y install epel-release
l 安装依赖包和基础包
yum -y install gcc gcc-c++
yum -y install cmake
yum -y install python-devel(python3-devel) numpy
yum -y install gtk2-devel
yum -y install libdc1394-devel
yum -y install libv4l-devel
yum -y install gstreamer-plugins-base-devel
2.2 yasm编译安装
tar -zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make && make install
2.3 ffmpeg编译安装
l 编译安装
tar -zxvf ffmpeg-3.1.tar.gz
cd ffmpeg-3.1
./configure --prefix=/usr/local/ffmpeg
make && make install
Wait......
l 配置环境变量
vim /etc/profile:
PATH=$PATH:/usr/local/ffmpeg/bin
export PATH
保存退出
source /ect/profile
查看版本:ffmpeg -version
2.4 安装ant
yum -y install ant
2.5配置ippcv
在安装opencv中,极有可能出现下来ippcv依赖包网络卡住的情况,这种情况的解决方法是下载ippcv依赖包,存储到任意可读取的目录中。然后进入到opencv文件目录,vim 3rdparty/ippicv/ippicv.cmake,找到第47行,将其注释,增加一行:"file:ippcv所在目录"。
2.6 opencv编译安装
l 进入opencv文件目录
mkdir build
Cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv-3.4.1 -D BUILD_TESTS=OFF ..
make -j8 sudo
make install
l 安装结果检验
可以到./build/bin目录下查看是否有opencv-341.jar生成。如果有,说明安装成功了;还可以到./build/lib目录下查看是否有libopencv_java341.so生成
l 添加环境变量
输入命令:vim /etc/ld.so.conf.d/opencv.conf,添加opencv安装目录到其中
输入命令:vim /etc/profile
在末尾加入:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
更新环境变量:source /etc/profile
l 设置环境变量
输入命令:vim /etc/bash.bashrc(或者/etc/bashrc)
在末尾加入:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
更新环境变量:source /etc/bash.bashrc
l 更新系统库缓存
输入命令:ldconfig
l 查看opencv是否安装成功
输入命令:pkg-config --cflags opencv、pkg-config --libs opencv
如果没有出错,说明安装成功。