当前位置 : 主页 > 编程语言 > 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标签
    下一篇:没有了
    网友评论