zoukankan      html  css  js  c++  java
  • 在Ubuntu 18.04上安装OpenCV 4(C ++和Python)

     

    在Ubuntu 18.04上安装OpenCV

    OpenCV于11月20日发布了OpenCV-3.4.4和OpenCV-4.0.0。这些版本中有很多错误修复和其他更改。发布重点如下:

    • OpenCV现在是C ++ 11库,需要符合C ++ 11标准的编译器。所需的最低CMake版本已提升至3.5.1。
    • 很多来自OpenCV 1.x的C API已被删除。
    • 在核心模块中的持久性(在XML,YAML或JSON中存储和加载结构化数据)已在C ++中完全重新实现,并且也丢失了C API。
    • 添加了新的模块G-API,它可以作为非常有效的基于图形的图像处理流水线的引擎。
    • dnn模块现在包含实验性Vulkan后端,并支持ONNX格式的网络。
    • 流行的Kinect Fusion算法已经实现并针对CPU和GPU进行了优化(OpenCL)
      QR码检测器和解码器已添加到objdetect模块中。
    • 非常高效且高质量的DIS密集光流算法已从opencv_contrib转移到视频模块。

    在这篇文章中,我们将提供一个bash脚本,用于在Ubuntu 18.04上安装OpenCV-4.0(C ++和Python 3.6)。我们还将简要研究脚本以了解其中的内容。请注意,此脚本将OpenCV安装在本地目录中,而不是整个系统上。

    正在寻找Ubuntu 16.04的安装脚本看看这个博客

    1.安装OpenCV 4.0

    步骤0:选择要安装的OpenCV版本

    1
    2
    3
    echo "OpenCV installation by learnOpenCV.com"
    # Define OpenCV Version to install
    cvVersion="master"

    我们还将清理build目录并创建installation目录。

    1
    2
    3
    # Clean build directories
    rm -rf opencv/build
    rm -rf opencv_contrib/build
    1
    2
    3
    # Create directory for installation
    mkdir installation
    mkdir installation/OpenCV-"$cvVersion"

    最后,我们将当前工作目录存储在cwd变量中。我们还将在此博客中将此目录称为OpenCV_Home_Dir

    1
    2
    # Save current working directory
    cwd=$(pwd)

    第1步:更新包

    1
    2
    sudo apt -y update
    sudo apt -y upgrade
    如果你仍然无法在你的系统上安装OpenCV,但想要开始使用它,我们建议使用我们的docker镜像预装的OpenCV,Dlib,miniconda和jupyter笔记本以及本博客中描述的其他依赖项

    第2步:安装OS库

    1
    2
    3
    4
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    三十
    31
    32
    33
    sudo apt -y remove x264 libx264-dev
     
    ## Install dependencies
    sudo apt -y install build-essential checkinstall cmake pkg-config yasm
    sudo apt -y install git gfortran
    sudo apt -y install libjpeg8-dev libpng-dev
     
    sudo apt -y install software-properties-common
    sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
    sudo apt -y update
     
    sudo apt -y install libjasper1
    sudo apt -y install libtiff-dev
     
    sudo apt -y install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev
    sudo apt -y install libxine2-dev libv4l-dev
    cd /usr/include/linux
    sudo ln -s -f ../libv4l1-videodev.h videodev.h
    cd "$cwd"
     
    sudo apt -y install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
    sudo apt -y install libgtk2.0-dev libtbb-dev qt5-default
    sudo apt -y install libatlas-base-dev
    sudo apt -y install libfaac-dev libmp3lame-dev libtheora-dev
    sudo apt -y install libvorbis-dev libxvidcore-dev
    sudo apt -y install libopencore-amrnb-dev libopencore-amrwb-dev
    sudo apt -y install libavresample-dev
    sudo apt -y install x264 v4l-utils
     
    # Optional dependencies
    sudo apt -y install libprotobuf-dev protobuf-compiler
    sudo apt -y install libgoogle-glog-dev libgflags-dev
    sudo apt -y install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen
    在Ubuntu 18.04上寻找OpenCV 3.4.4的安装脚本看看这个博客

    第3步:安装Python库

    1
    2
    3
    sudo apt -y install python3-dev python3-pip
    sudo -H pip3 install -U pip numpy
    sudo apt -y install python3-testresources

    我们还将安装virtualenvvirtualenvwrapper模块来创建Python虚拟环境。

    1
    2
    3
    4
    6
    7
    8
    9
    10
    11
    12
    13
    cd $cwd
    ############ For Python 3 ############
    # create virtual environment
    python3 -m venv OpenCV-"$cvVersion"-py3
    echo "# Virtual Environment Wrapper" >> ~/.bashrc
    echo "alias workoncv-$cvVersion="source $cwd/OpenCV-$cvVersion-py3/bin/activate"" >> ~/.bashrc
    source "$cwd"/OpenCV-"$cvVersion"-py3/bin/activate
     
    # now install python libraries within this virtual environment
    pip install wheel numpy scipy matplotlib scikit-image scikit-learn ipython dlib
      
    # quit virtual environment
    deactivate
    下载安装脚本
    要轻松学习本教程,请单击下面的按钮下载安装脚本。免费!

    第4步:下载opencv和opencv_contrib

    1
    2
    3
    4
    6
    7
    8
    9
    git clone https://github.com/opencv/opencv.git
    cd opencv
    git checkout $cvVersion
    cd ..
     
    git clone https://github.com/opencv/opencv_contrib.git
    cd opencv_contrib
    git checkout $cvVersion
    cd ..

    步骤5:使用contrib模块编译并安装OpenCV

    首先,我们导航到构建目录。

    1
    2
    3
    cd opencv
    mkdir build
    cd build

    接下来,我们开始编译和安装过程。

    1
    2
    3
    4
    6
    7
    8
    9
    10
    11
    cmake -D CMAKE_BUILD_TYPE=RELEASE
                -D CMAKE_INSTALL_PREFIX=$cwd/installation/OpenCV-"$cvVersion"
                -D INSTALL_C_EXAMPLES=ON
                -D INSTALL_PYTHON_EXAMPLES=ON
                -D WITH_TBB=ON
                -D WITH_V4L=ON
                -D OPENCV_PYTHON3_INSTALL_PATH=$cwd/OpenCV-$cvVersion-py3/lib/python3.5/site-packages
            -D WITH_QT=ON
            -D WITH_OPENGL=ON
            -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules
            -D BUILD_EXAMPLES=ON ..
    对于OpenCV的系统范围安装,请将CMAKE_INSTALL_PREFIX更改CMAKE_INSTALL_PREFIX = / usr / local
    1
    2
    make -j4
    make install

    2.如何在C ++中使用OpenCV

    使用CMakeLists.txt

    CMakeLists.txt的基本结构如下:

    1
    2
    3
    4
    cmake_minimum_required(VERSION 3.1)
    # Enable C++11
    set(CMAKE_CXX_STANDARD 11)
    set(CMAKE_CXX_STANDARD_REQUIRED TRUE)

    您必须设置OpenCV_DIR,如下所示。

    1
    SET(OpenCV_DIR <OpenCV_Home_Dir>/installation/OpenCV-master/lib/cmake/opencv4)

    确保使用正确的路径替换OpenCV_Home_Dir例如,在我的情况下:

    1
    SET(OpenCV_DIR /home/hp/OpenCV_installation/installation/OpenCV-master/lib/cmake/opencv4)

    完成CMakeLists.txt后,请按照以下步骤操作。

    1
    2
    3
    mkdir build && cd build
    cmake ..
    cmake --build . --config Release

    这将在构建目录中生成可执行文件

    3.如何在Python中使用OpenCV

    要使用使用Python脚本安装的OpenCV版本,首先要激活正确的Python虚拟环境。

    对于OpenCV-4:Python 3

    1
    workon OpenCV-master-py3

    激活虚拟环境后,即可进入Python shell并测试OpenCV版本。

    1
    2
    3
    ipython
    import cv2
    print(cv2.__version__)

    希望这个脚本证明对你有用:)。请继续关注更多有趣的内容。如有任何疑问,请随时在下方发表评论,我们会尽快回复您。

    订阅和下载代码

    如果你喜欢这篇文章并想下载这篇文章中使用的代码(C ++和Python)和示例图片,请订阅我们的新闻通讯。您还将收到免费的计算机视觉资源指南。在我们的时事通讯中,我们分享了用C ++ / Python编写的OpenCV教程和示例,以及计算机视觉和机器学习算法和新闻。

    现在订阅

  • 相关阅读:
    Java实验四
    Java第八周学习总结
    Java实验三
    输入输出练习
    第七周
    20145113 实验二 Java面向对象程序设计
    2020-2021-1 20209306 《linux内核原理与分析》第九周作业
    2020-2021-1 20209306 《linux内核原理与分析》第八周作业
    2020-2021-1 20209306 《linux内核原理与分析》第七周作业
    2020-2021-1 20209306 《linux内核原理与分析》第六周作业
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/11488766.html
Copyright © 2011-2022 走看看