win10 opencv 项目程序移植到 ubuntu16.04: 1.Opencv开发环境安装

1、安装依赖的库

sudo apt-get install build-essential// 必须的,gcc编译环境

sudo apt-get install cmake git   // 必须的,包括cmake等工具

sudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev// 显示使用

2、下载源码

在官网下载:http://opencv.org

或着用git clone:

cd ~/opencv320//opencv320为自己建的,源码将放在这里
gitclone https://github.com/Itseez/opencv.git
gitclone https://github.com/Itseez/opencv_contrib.git

3、使用cmake安装

  • 建立编译目标文件夹
cd opencv320
mkdir build
  • 1
  • 2
  • 1
  • 2
  • 使用cmake或着用cmake-gui生成Makefile 
    (1) cmake方式
cd opencv320/build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
    // 生成后的Makefile在build文件夹中,而需要的CMakeLists.txt在 ".."中,即上一级文件夹中(opencv-3.1.0
  • 1
  • 2
  • 3

#上步可能出现因某文件下载失败(被墙或网络差),而无法正常安装,此刻可以自行下载该文件,放在正确位置。即可跳过下载过程。

(2) cmake-gui方式 
cmake-gui即cmake和图形界面版程序: 
先安装cmake-gui

sudo apt-get install cmake-qt-gui
  • 1
  • 1

然后打开cmake-gui: 
win10 opencv 项目程序移植到 ubuntu16.04: 1.Opencv开发环境安装_第1张图片 
“/OpenCV-3.1.0” 和 “/opencv-3.1.0/build”换成自己的,然后先点 Configure 然后点 Generate。 

4、安装OpenCv

在opencv3.1.0/build下,终端运行:

make -j7
    // 7个线程编译
sudo make install
    // 安装

如果出现一大堆的错误

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_cufft_LIBRARY (ADVANCED)
linked by target "opencv_cudev" in directory E:/opencv/sources/modules/cudev
linked by target "opencv_test_cudev" in directory E:/opencv/sources/modules/cudev/test
linked by target "opencv_core" in directory E:/opencv/sources/modules/core

Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_cufft_LIBRARY (ADVANCED)
linked by target "opencv_cudev" in directory E:/opencv/sources/modules/cudev
linked by target "opencv_test_cudev" in directory E:/opencv/sources/modules/cudev/test

linked by target "opencv_core" in directory E:/opencv/sources/modules/core

然后把with_CUDA的状态为:不选择,在此configure没有问题

如果出现错误: Makefile:160: recipe for target 'all' failed

安装anaconda之后,很多默认的编译器都变成了anaconda自带的了,比如python和gcc等。那么系统中的python安装的东西自然是用不了的。

两种方式:

第一种方法:

增加 -D WITH_OPENMP=ON

第二种方法:

从系统变量中删除Anaconda路径
sudo gedit ~/.bashrc

注释掉如下两行

#export PATH="/home/lab/SOFT_APP/Anaconda2/bin:$PATH"

source ~/.bashrc

5、扫尾工作

#最后

将ippicv中的64位lib文件复制到/usr/local/lib下
位于: ~ /opencv-3.1.0/3rdparty/ippicv/unpack/ippicv_lnx/lib/intel64/libippicv.a


如果编译正常,运行时提示出错:

error while loading shared libraries: libopencv_highgui.so.3.2; cannot open shared object file:no such file or directory

在终端输入:

      pkg-config --cflags --libs opencv

  看到输出一些-I -L选项如下,即pkg-config 安装正确,OpenCV 安装正确。如未安装,请先安装;如果发现不正确,可以修改/usr/local/lib/pkgconfig/opencv.pc文件,这个文件就是opencv的目录配置。



#加入动态链接库
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
sudo gedit /etc/profile #在最后加入两行

或者:

因为这是通过opencv的库之间的缺失环节的所以有必要指定ld_libraty_path配置。 PS.lib路径是假设是:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib我已经尝试了一下,效果很好。

两种方法查看Linux中安装的OpenCV版本:

方法一:直接在终端输入以下命令

[plain]  view plain  copy
  1. pkg-config --modversion opencv  

方法二:编写一个C/C++小程序,打印字符串"CV_VERSION" 或者 "CV_MAJOR_VERSION", "CV_MINOR_VERSION", "CV_SUBMINOR_VERSION"。

[cpp]  view plain  copy
  1. #include   
  2. #include   
  3.   
  4. int main(void)  
  5. {  
  6.     printf("%s\r\n", CV_VERSION);  
  7.     printf("%u.%u.%u\r\n", CV_MAJOR_VERSION, CV_MINOR_VERSION, CV_SUBMINOR_VERSION);  
  8. }  

你可能感兴趣的:(opencv,opencv)