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教程和示例,以及计算机视觉和机器学习算法和新闻。

    现在订阅

  • 相关阅读:
    739. Daily Temperatures
    556. Next Greater Element III
    1078. Occurrences After Bigram
    1053. Previous Permutation With One Swap
    565. Array Nesting
    1052. Grumpy Bookstore Owner
    1051. Height Checker
    数据库入门及SQL基本语法
    ISCSI的概念
    配置一个IP SAN 存储服务器
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/11488766.html
Copyright © 2011-2022 走看看