zoukankan      html  css  js  c++  java
  • Jetson TX2(2)ubutu1604--安装opencv3.4.0

    1安装OpenCV3.4.0+contrib

    1 在终端中敲入以下两句
    sudo rm /var/cache/apt/archives/lock
    sudo rm /var/lib/dpkg/lock

    sudo apt-get update

    进入官网 : http://opencv.org/releases.html , 选择 3.4.0 版本的 sources , 下载 opencv-3.4.0.zip 。

    unzip opencv-3.4.0.zip
    unzip opencv_contrib.3.4.0.zip -d opencv-3.4.0

    将opencv_contrib解压到了opencv-3.4.0目录下。

    安装依赖库和cmake ,如果提醒需要apt-get update,那就先sudo su进入root权限,再sudo apt-get update,然后在执行下面命令

    sudo apt-get install cmake  
    

     

    sudo apt-get install build-essential 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
    

      

      

      1.1正常安装

    命令行进入已解压的文件夹 opencv-3.4.0 目录下,执行:

     
    mkdir build # 创建编译的文件目录
    
    cd build
    
    

      

    配置模块

    sudo apt-get install cmake-gui
    

      

    配置cmake-gui
    cmake-gui ..(./cache是一个在opencv主文件夹里的一个隐藏文件 使用ctrl+h隐藏文件夹)
    使用下载好的./cache覆盖./cache文件
    确定路径没问题点击configure -> finish
    CMAKE_BUILD_TYPE makmRELEASE
    CMAKE_INSTALL_PREFIX /usr/local/(如果重装记得删除原来的)
    OPENCV_EXTRA_MODULES_PATH ----请填上对应/Opencv3/opencv-3.4.0/opencv_contrib-3.4.0/modules/
    WITH CUDA ON
    configure ——> Generate

    make -j8 #编译
    

      

    在98%的时候会等很久很久,属于正常现象。编译过程很顺利,编译成功后安装:

    sudo make install #安装
    

      安装完成后通过查看 opencv 版本验证是否安装成功:

    pkg-config --modversion opencv
    

      卸载OpenCV的方法:进入OpenCV解压文件夹中的buid 文件夹:

    cd /home/ccem/opencv-3.4.0/build
    

      运行:

    sudo make uninstall
    

      然后把整个opencv-3.4.0文件夹都删掉。随后再运行:

    sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv
    

      把一些残余的动态链接文件和空文件夹删掉。有些文件夹已经被删掉了所以会找不到路径。

    1.2cuda版本opencv安装

    这里主要说一下不同的配置,主要是要编译CUDA版本的OpenCV,所以在cmake的时候要将开关打开。

    cmake -D CMAKE_BUILD_TYPE=RELEASE 
     -D CMAKE_INSTALL_PREFIX=/usr/local 
     -D INSTALL_PYTHON_EXAMPLES=ON 
     -D INSTALL_C_EXAMPLES=ON 
     -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.4.0/modules 
     -D PYTHON3_EXECUTABLE=/usr/bin/python3 
     -D PYTHON_EXECUTABLE=/usr/bin/python 
     -D WITH_TBB=ON 
     -D WITH_V4L=ON 
     -D WITH_QT=ON  
     -D WITH_GTK=ON 
     -D WITH_OPENGL=ON 
     -D BUILD_EXAMPLES=ON 
     -D WITH_CUDA=ON 
     -D BUILD_TIFF=ON 
     -D INSTALL_PYTHON_EXAMPLES=ON ..
    

      cmake之后,可以看到cuda模块的都配置成功了。

    接下来就执行make

    编译完成。

     

    执行安装。

    sudo make install
    

     

     安装完成。

     

    用下面的命令查看一下安装结果。

     

    pkg-config opencv --cflags --libs
    

     2 配置环境 

    sudo make install 执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到

    sudo gedit /etc/ld.so.conf.d/opencv.conf 
    

    执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加

    /usr/local/lib  
    

     执行如下命令使得刚才的配置路径生效 

    sudo ldconfig 
    

     这个时候可能会提示错误如下图所示(上部分)

    sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符号连接
    /sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符号连接
    出现这个错误可能是由于系统BUG所致
    只需要分别输入上面图下部分的四行命令就可解决 

    sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org 
    sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org 
    sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1 
    sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1
    

    配置bash

    sudo gedit /etc/bash.bashrc  
    

    在最末尾添加 

    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
    export PKG_CONFIG_PATH  
    

    保存,执行如下命令使得配置生效

    source /etc/bash.bashrc  
    

    更新  

    sudo updatedb  
    

      

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

    cd ../samples/cpp/example_cmake
    cmake .
    make
    ./opencv_example
    

      

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

  • 相关阅读:
    面向对象的本质是算法的上下文封装,是同一类属的行为接口的一致性
    结构化方法和面向对象方法的比较
    需求文档和软件都是服务的集合
    注意 Laravel 清除缓存 php artisan cache:clear 的一个坑
    面向对象复习笔记(一)
    详解如何在Laravel中增加自定义全局函数
    Laravel 引入自定义类库或第三方类库
    PHP怎么调用其他类的方法
    Laravel如何引用第三方(自定义)库
    laravel框架手机发送验证码
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/10593477.html
Copyright © 2011-2022 走看看