ubuntu16.04+cuda8.0 安装opencv3.4+tensorflow1.5

查了好多博客,opencv官网的链接都失效了,主要借鉴了下面几个博客:

https://www.cnblogs.com/arkenstone/p/6490017.html

https://blog.csdn.net/gubenpeiyuan/article/details/50543789

https://blog.csdn.net/jindunwan7388/article/details/80397700

https://blog.csdn.net/u011383131/article/details/79942339

1.安装官方给的opencv依赖包

二、下载和添加依赖包

1、首先更新 apt-get,在安装前最好先更新一下系统,不然有可能会安装失败。在终端输入:

  1. sudo apt-get update

  2. sudo apt-get upgrade

2、接着安装官方给的opencv依赖包,在终端输入:

  1. # 移除之前的 x264的安装
    sudo apt-get remove x264 libx264-dev
    
    # 安装所需依赖
    sudo apt-get install build-essential checkinstall cmake pkg-config yasm
    sudo apt-get install git gfortran
    sudo apt-get install libjpeg8-dev libjasper-dev libpng12-dev
    
    # 如果你使用 Ubuntu 14.04
    sudo apt-get install libtiff4-dev
    # 如果你使用 Ubuntu 16.04
    sudo apt-get install libtiff5-dev
    
    sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev
    sudo apt-get install libxine2-dev libv4l-dev
    sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
    sudo apt-get install qt5-default libgtk2.0-dev libtbb-dev
    sudo apt-get install libatlas-base-dev
    sudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev
    sudo apt-get install libvorbis-dev libxvidcore-dev
    sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev
    sudo apt-get install x264 v4l-utils
    
    # 选择性安装
    sudo apt-get install libprotobuf-dev protobuf-compiler
    sudo apt-get install libgoogle-glog-dev libgflags-dev
    sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen

 

3、接下来安装CMake-gui,在终端输入

sudo apt-get install cmake-qt-gui

2.下载opencv3.4.0

这里需要下载opencv和opencv_contrib(后者会在cmake配置的时候用到),这是因为opencv3以后SIFT和SURF之类的属性被移到了contrib中,。

3.配置opencv3.4https://www.cnblogs.com/arkenstone/p/6490017.html

三、配置OpenCV

1、将OpenCV3.2.0和OpenCV_contrib-3.2.0解压(提取),如图所示

2、双击进入解压出来的OpenCV3.2.0文件夹,右键打开终端(或者在别处打开终端,通过输入cd opencv3.2.0进入当前目录下),然后依次输入(不要忘了第三行的最后的空格和两个点):

  1. mkdir build

  2. cd build

  3. cmake-gui ..

3、然后会弹出CMake的图形化界面,在上方的两个路径里面,选择好代码所在文件夹的路径和要安装的路径

4、点击左下方的Configure按钮,选择Unix Makefiles,选择Use default native compilers(默认),然后点击Finish

5、需要下载一些文件,要等待一段时间。然后CMake即载入默认配置,如下图所示:

窗口的中间部分即配置列表,这里和使用cmake命令直接生成makefile文件一致的。正如上文所述,这里通过图形界面的方式来进行配置,更加直观方便。

 

在configure过程中过程中,会出现下面的错误:

-- ICV: Downloading ippicv_linux_20151201.tgz...

在直接下载该文件的过程中,会因为超时而失败,可以下载http://download.csdn.net/detail/jasonzzj/9691901, 并替换掉 opencv-3.2.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b下的同名文件,然后再次cmake即可。生成编译文件

6、这里需要对两个地方进行修改:

(1)在CMAKE_BUILD_TYPE 值处输入RELEASE,其他保持不变(如果已经存在就不必修改)。
下方的CMAKE_INSTALL_PREFIX显示了默认的安装目录,生成makefile文件最后执行 make install时就会安装到这个目录,这里可以根据个人需求更改。我这里就不做修改了。


(2)在OPENCV_EXTRA_MODULES_PATH处,选择输入目录(单击这一行后方空白处即可选中)

然后选择opencv_contrib-3.4.0文件夹中的modules文件夹,注意,不是只选中opencv_contrib-3.4.0文件夹就好了,需要选中里面的modules文件夹!    如下图所示,然后点Choose。
注:OPENCV_EXTRA_MODULES_PATH 是用来指定要编译的扩展模块,其中包括OpenCV_contrib模块。

7、点击Generate生成配置文件,这一步应该比较快就完成了。

8、接着,在build目录下打开终端,输入

  1. make

  2. sudo make install

9、然后就开始安装了,这一步又需要等比较长的时间了……不要急,进行到这一步说明很快就能安装成功了~

当你执行完上面两行命令的时候,并看到100%的时候,恭喜你!安装成功!

五、测试

1、在终端运行命令:pkg-config --cflags --libs opencv 出现下面信息:

 
  1. licaibiao@ubuntu:~/test/OpenCV$ pkg-config --cflags --libs opencv

  2. -I/usr/local/include/opencv -I/usr/local/include -L/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core

  3. licaibiao@ubuntu:~/test/OpenCV$

2.运行一个图片

1) 创建工作目录

mkdir ~/opencv-lena
cd ~/opencv-lena
gedit DisplayImage.cpp

2) 编辑如下代码

#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
  if ( argc != 2 )
  {
    printf("usage: DisplayImage.out <Image_Path>\n");
    return -1;
  }
  Mat image;
  image = imread( argv[1], 1 );
  if ( !image.data )
  {
    printf("No image data \n");
    return -1;
  }
  namedWindow("Display Image", WINDOW_AUTOSIZE );
  imshow("Display Image", image);
  waitKey(0);
  return 0;
}

3) 创建CMake编译文件

gedit CMakeLists.txt

写入如下内容

cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )

4) 编译

cd ~/opencv-lena
cmake .
make

5) 执行

此时opencv-lena文件夹中已经产生了可执行文件DisplayImage,下载lena.jpg放在opencv-lena下,运行

./DisplayImage  lena.jpg

直接测试:cd到opencv-3.4.0/smaples/cpp/example_cmake目录下 
我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下 
按顺序执行

  1. cmake .

  2. make

  3. ./opencv_example即可看到打开了摄像头,在左上角有一个hello opencv 
    即表示配置成功

六,安装tensorflow-gpu版本

首先,我输入sudo pip3 install tensorflow-gpu 下载了好多次终于下载陈功后,配置失败,显示与CUDA版本不匹配,然后卸载了;

采用sudo pip3 install tensorflow-gpu ==1.5安装成功。

测试

猜你喜欢

转载自blog.csdn.net/weixin_38423311/article/details/81067308
今日推荐