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残留没有删除干净,删除干净重来即可。

  • 相关阅读:
    使用NPOI导出Excel 并设置Excel样式(合并单元格、行高、宽度、字体、边框、位置)...
    DevExpress GridView 单元格进度条
    c# groupBox 带标题边框,标题居中,重写控件
    COCO数据集下载断断续续后unzip无法解压
    SSD_论文+代码(pytorch)
    开始机器学习
    收藏 —— KVM网络虚拟化
    收藏 —— 教你阅读Python开源项目
    收藏 —— 活动目录讲解
    系统计划 Cron作业 为什么/etc/crontab /etc/cron.d /etc/cron.* 那么多的定义方式????
  • 原文地址:https://www.cnblogs.com/SystemCall/p/10630063.html
Copyright © 2011-2022 走看看