zoukankan      html  css  js  c++  java
  • 安装 OpenCV C++

    环境

    • Ubuntu18.04
    • OpenCV4

    准备

    需要下列的依赖,[optional]为可选。

    [compiler] sudo apt-get install build-essential
    [required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    [optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
    

    下载OpenCV

    使用CMake构建

    创建build文件夹

    cd ~/opencv
    mkdir build
    cd build
    

    配置Cmake ,选择需要编译的选项

    cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_GENERATE_PKGCONFIG=ON .. 
    

    注意: -DOPENCV_GENERATE_PKGCONFIG=ON 会生成.pc文件, 想在VSCode中使用的话一定要加。

    执行make

    make -j7  # 使用7个线程
    

    安装库文件

    sudo make install
    

    使用

    VSCode 使用

    要想在VSCode中使用OpenCV, 要将生成的.pc文件添加到环境变量。
    看下是否有这个文件

    接下来设置环境变量

    vim /etc/bash.bashrc
    

    添加下面两行

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

    Cmake 和 g++使用 OpenCV

    创建一个测试文件,DisplayImage.cpp

    #include <stdio.h>
    #include <opencv2/opencv.hpp>
    using namespace cv;
    int main(int argc, char** argv )
    {
        if ( argc != 2 )
        {
            printf("usage: DisplayImage.out <Image_Path>
    ");
            return -1;
        }
        Mat image;
        image = imread( argv[1], 1 );
        if ( !image.data )
        {
            printf("No image data 
    ");
            return -1;
        }
        namedWindow("Display Image", WINDOW_AUTOSIZE );
        imshow("Display Image", image);
        waitKey(0);
        return 0;
    }
    

    g++直接编译

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

    运行一下

    ./DisplayImage  /home/hichens/Datasets/pic/bigbang.jpg  # 图片路径
    
    

    CMake 编译

    创建 CMakelists.txt文件

    vim  CMakelists.txt
    

    build

    mkdir build 
    cd build 
    cmake ..
    make 
    

    运行一下

    ./DisplayImage  /home/hichens/Datasets/pic/bigbang.jpg  # 图片路径
    

    参考

  • 相关阅读:
    MySQL学习(十二)
    MySQL学习(十一)
    MySQL学习(十)
    MySQL学习(九)
    MySQL学习(八)
    hlg1600线性代数中的矩阵问题【区间dp】
    HDU1556Color the ball【标号法||树状数组】
    hlg1481 Attack of the Giant n-pus【二分+二分图】
    0918
    20140913
  • 原文地址:https://www.cnblogs.com/hichens/p/12665897.html
Copyright © 2011-2022 走看看