ubuntu16.04 opencv(各个版本编译安装,来回切换)

先下载安装包,选source下载。解压/home/install/opencv3.4.0/
https://opencv.org/releases.html

一 安装依赖库步骤
步骤 1 安装 cmake,输入:

sudo apt-get install cmake

步骤 2. 安装 GTK+ 2.0

sudo apt-get install libgtk2.0-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev

步骤 3. 安装 libav 开发包

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev

二 编译
在opencv3.4.0目录中新建build目录与build-install目录,进入build目录中,
在终端输入

 cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/install/opencv3.4.0/build-install -D
WITH_GPHOTO2=OFF –D WITH_GTK=OFF -D WITH_CUDA=OFF -D
WITH_FFMPEG=OFF -D WITH_LAPACK=OFF ../

命令说明:
WITH_GPHOTO2=OFF 和 WITH_GTK=OFF WITH_CUDA=OFF -D WITH_FFMPEG=OFF -D
WITH_LAPACK=OFF 是些依赖项

make && make install

三 设置环境变量
经过上两部,opencv的include lib 等等 安装文件 已经在/home/install/opencv3.4.0/build-install中,现在就是设置环境变量,使得系统能找到此目录中的opencv.

步骤 1. 在终端中输入 vi ~/.bashrc 进入 vi 编辑 profile 文件
步骤 2. 在文件末尾添加:

export PATH=/home/install/opencv3.4.0/build-install/bin:$PATH
export   LD_LIBRARY_PATH=/home/install/opencv3.4.0/build-install/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/home/install/opencv3.4.0/build-install/lib/pkgconfig

步骤 3. 退出 vi,在终端输入 source ~/.bashrc

查看opencv的版本号

pkg-config --modversion opencv

四 检验测试
步骤 1. 将工作目录转到 OpenCV 解压目录下的/samples/cpp/处。
步骤 2. 然后尝试编译其中人脸识别的示例程序,输入

 gcc `pkg-config --cflags opencv` -o    facedetect facedetect.cpp `pkg-config --libs opencv` -lstdc++

如果顺利编译,说明 OpenCV 安装成功,并且会在该目录下生成 facedetect 的可执行程
序。
如果不是复制该命令的话,请注意 符号`不是单引号,而是反引号(大键盘数字 1 左边)。
步骤 3. 尝试运行该程序,输入 ./facedetect …/data/lena.jpg,该程序会通过电脑的摄像头捕捉图
像,并用椭圆表示检测到的人脸。如果成功运行,说明 OpenCV 安装成功

用此种方法安装有二个好处
1) 就是在各个opencv版本可以来回自如的切换,并且十分容易移植。
比如说按上面的方法,我们已经make install两个版本的opencv在不同的文件夹下,如:

/home/install/opencv-2.4.10/build-install, /home/install/opencv-3.4.0/build-install

现在只要更改~/.bashrc就能在两个版本间自由切换。

#opencv3.4.0
export PATH=/home/oeasy/install/opencv-3.4.0/build_install/bin:$PATH
export LD_LIBRARY_PATH=/home/install/opencv-3.4.0/build_install/lib:$LD_LIBRARY_PATH 
export PKG_CONFIG_PATH=/home/install/opencv-3.4.0/build_install/lib/pkgconfig

#opencv2.4.10
#export PATH=/home/oeasy/opencv-2.4.10/build_install/bin:$PATH
#export LD_LIBRARY_PATH=/home/install/opencv-2.4.10/build_install/lib:$LD_LIBRARY_PATH
#export PKG_CONFIG_PATH=/home/install/opencv-2.4.10/build_install/lib/pkgconfig

切换后,source ~/.bashrc,就好了。
2) 十分容易移植
因为编译opencv要很久的时间,按如上方法编译可以做到一个版本编译一次,能在同平台下的多台电脑上轻易部署。
到一台新电脑里,只要将build_install这个文件夹下的所有东西复制。然后在新电脑上相应的 ~/.bashrc加上环境变量,就ok了。

不止是opencv 像google的protobuf 也一样.涉及到多个版本的,要切换不同版本的,都可以按如上方法,可得长个心眼了。

你可能感兴趣的:(linux)