zoukankan      html  css  js  c++  java
  • Ubuntu16.04安装opencv-3.4.2

    原文链接:

    https://m.oldpan.me/archives/ubuntu-install-opencv-from-source

    第一步:更新我们的系统

    sudo apt-get update
    sudo apt-get upgrade

    第二步:安装所有依赖库

    # 首先我们先移除系统中已经存在的依赖,这一部必须要做
    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 qt5-default # 可选安装 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

    第三步:安装python依赖(可选)

    sudo apt-get install python3-dev
    pip3 install numpy scipy matplotlib scikit-image scikit-learn ipython

    第四步:下载opencv-3.4.2

    https://opencv.org/releases.html

    第五步:安装opencv-3.4.2

    1)进入我们的opencv目录,创建一个build的文件夹并进入

    cd opencv
    mkdir build
    cd build   

    2)cmake配置

    cmake -D CMAKE_BUILD_TYPE=Release -D MAKE_INSTALL_PREFIX=/usr/local ..

    3)等待漫长的编译过程

    make

    4)安装

    sudo make install

    5)环境配置添加库路径

    sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf'

    6)更新系统库

    sudo ldconfig

    7)配置bash

    sudo vim /etc/bash.bashrc
    //在末尾添加
    PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
    export PKG_CONFIG_PATH

    保存退出,然后执行如下命令使得配置生效

    source /etc/bash.bashrc
    //激活配置然后更新database
    sudo updatedb

    第六步:测试

    1)在home下新建文件夹进入并新建名称为opencv_test.cpp

    #include <iostream>
    #include <opencv2/opencv.hpp>
    
    using namespace cv;
    using namespace std;
    
    int main(int argc, char** argv)
    {
    
        if ( argc != 2 )
        {
            cout << "Need to load a picture..." << endl;
            return -1;
        }
        Mat image;
        image = imread( argv[1], 1 );
        if ( image.empty() )
        {
            cout<<"No image data!"<< endl;
            return -1;
        }
        namedWindow("Display Image", WINDOW_AUTOSIZE );
        imshow("Display Image", image);
        waitKey(0);
        return 0;
    }

    2)建立一个CMakeLists.txt文件

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

    3)在home目录中放一张测试的图片,例如test.jpg,分别执行

    cmake .
    make
    ./opencv_test ~/test.jpg

    图片显示成功!

    opencv_test.cpp文件创建成功后,或可直接使用如下命令生成可执行程序

    g++ `pkg-config opencv --cflags` opencv_test.cpp  -o opencv_test `pkg-config opencv --libs`

    注意:这里是` `(Tab键上面的那个键),而不是单引号' '

    卸载源码安装的opencv

    在之前创建的build目录中执行

    sudo make uninstall

    如果卸载不干净,则执行下面的命令:

    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*

    在编译过程中可能遇到的问题

    Scanning dependencies of target opencv_cudafilters
    [ 45%] Building CXX object modules/cudafilters/CMakeFiles/opencv_cudafilters.dir/src/filtering.cpp.o
    cc1plus: warning: /home/prototype/Downloads/opencv-3.4.0/build/modules/cudafilters/precomp.hpp.gch/opencv_cudafilters_RELEASE.gch: not used because 'OPENCV_TRAITS_ENABLE_DEPRECATED' is defined [-Winvalid-pch]
    cc1plus: warning: /home/prototype/Downloads/opencv-3.4.0/build/modules/cudafilters/precomp.hpp.gch/opencv_cudafilters_Release.gch: not used because 'OPENCV_TRAITS_ENABLE_DEPRECATED' is defined [-Winvalid-pch]
    [ 45%] Linking CXX shared library ../../lib/libopencv_cudafilters.so
    [ 45%] Built target opencv_cudafilters
    Makefile:162: recipe for target 'all' failed
    make: *** [all] Error 2

    遇到上面的问题,一般是之前OpenCV残留没有删除干净,删除干净重来即可。

  • 相关阅读:
    react路由组件&&非路由组件
    react函数式组件(非路由组件)实现路由跳转
    react使用antd组件递归实现左侧菜单导航树
    【LeetCode】65. Valid Number
    【LeetCode】66. Plus One (2 solutions)
    【LeetCode】68. Text Justification
    【LeetCode】69. Sqrt(x) (2 solutions)
    【LeetCode】72. Edit Distance
    【LeetCode】73. Set Matrix Zeroes (2 solutions)
    【LeetCode】76. Minimum Window Substring
  • 原文地址:https://www.cnblogs.com/SystemCall/p/10630063.html
Copyright © 2011-2022 走看看