当前位置 : 主页 > 编程语言 > python >

OpenCV4使用CMake和DevCPP编译

来源:互联网 收集:自由互联 发布时间:2022-10-26
​ 一、 准备工作 ​ cmake 版本3.19.2 ​ opencv-4.5.0 ​​ https://codeload.github.com/opencv/opencv/zip/4.5.0 ​​ ​ opencv-contrib-4.5.0 ​​ https://codeload.github.com/opencv/opencv_contrib/zip/4.5.0 ​​ cmake编译

​

一、准备工作​

  • cmake 版本3.19.2​
  • opencv-4.5.0 ​​https://codeload.github.com/opencv/opencv/zip/4.5.0​​ ​
  • opencv-contrib-4.5.0 ​​https://codeload.github.com/opencv/opencv_contrib/zip/4.5.0​​ cmake编译​
  • 二、解压文件、创建build文件夹​

    OpenCV4使用CMake和DevCPP编译_#include


    设置环境变量​

  • OPENCV_DIR=D:\opencv\build\install​
  • OPENCV_PATH=D:\opencv​
  • PATH 末尾加入​D:\CMake\bin;D:\Dev-Cpp\MinGW64\bin;D:\opencv\build\bin​

    三、设置opencv​
    运行cmake-gui​
  • OpenCV4使用CMake和DevCPP编译_#include_02


  • 点击第一次Configure 会出现选择版本界面。​
  • 选择mingw进行configure。​
  • 当显示Configure done 会出现红色的界面​
  • 找到OPENCV_EXTRA_MODULES_PATH,后面添加路径D:/opencv/opencv_contrib-4.5.0/modules,精确到\modules 。勾选上面的OPENCV_ENABLE_NONFREE。
  • OpenCV4使用CMake和DevCPP编译_#include_03


  • 上面步骤做好以后,点击Configure,当出现Configure done,还是红色的界面。不要担心,再点击Configure 一次,红色界面就全部消失了。​
  • 点击Generate ,当出现Generate done,旁边的Open Project便会显示出来。
  • 五:进行编译:​

  • (-j 是使用 8 个线程进行编译,请根据你的计算机配置合理设置线程数)​
  • WIN+R cmd;D: ;cd D:\opencv\build
    mingw32-make -j 25
    mingw32-make install​

  • 六测试代码​

  • 设置环境:设置工具(tools)=》编辑器选项=》库与头文件路径​
  • OpenCV4使用CMake和DevCPP编译_测试程序_04



  • OpenCV4使用CMake和DevCPP编译_测试程序_05



    2、编写测试程序1​

    #include "core/core.hpp"
    #include "highgui.hpp
    #include "imgcodecs.hpp"​

    using namespace cv;
    using namespace std;​

    int main()
    {
    Mat img;
    img = imread("cat.jpg");
    imshow("Original Image", img);
    waitKey();
    }​

    OpenCV4使用CMake和DevCPP编译_测试程序_06



    编写测试程序1​

    主要是测试SIFT算法,这是基础库没有的。​

    #include <iostream>​

    #include<opencv2\opencv.hpp>​

    #include "opencv2/xfeatures2d.hpp"​



    using namespace cv;​

    using namespace std;​

    using namespace xfeatures2d;​

    int main()​

    {​

    Mat matSrc = imread("D:/flower.png");​

    Mat draw;​



    std::vector<KeyPoint> keypoints;​

    auto sift_detector = SIFT::create();​

    sift_detector->detect(matSrc, keypoints);​



    drawKeypoints(matSrc, keypoints, matSrc);​

    imshow("gray", matSrc);​

    waitKey(0);​

    return 0;​

    }​


    图像可以用自己的进行测试,至此cmake全部结束了。​



    上一篇:javaWeb中d的路径与html的base标签
    下一篇:没有了
    网友评论