如何用CMake和DevCPP编译OpenCV4?

2026-05-05 08:021阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计688个文字,预计阅读时间需要3分钟。

如何用CMake和DevCPP编译OpenCV4?

使用CMake版本3.19.2和OpenCV版本4.5.0进行编译,请访问以下链接获取源码:- OpenCV: [https://codeload.github.com/opencv/opencv/zip/4.5.0](https://codeload.github.com/opencv/opencv/zip/4.5.0)- OpenCV Contrib: [https://codeload.github.com/opencv/opencv_contrib/zip/4.5.0](https://codeload.github.com/opencv/opencv_contrib/zip/4.5.0)

一、准备工作​

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


    设置环境变量​

  • 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​

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

  • 上面步骤做好以后,点击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)=》编辑器选项=》库与头文件路径​




  • 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();
    }​



    如何用CMake和DevCPP编译OpenCV4?

    编写测试程序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全部结束了。​



    本文共计688个文字,预计阅读时间需要3分钟。

    如何用CMake和DevCPP编译OpenCV4?

    使用CMake版本3.19.2和OpenCV版本4.5.0进行编译,请访问以下链接获取源码:- OpenCV: [https://codeload.github.com/opencv/opencv/zip/4.5.0](https://codeload.github.com/opencv/opencv/zip/4.5.0)- OpenCV Contrib: [https://codeload.github.com/opencv/opencv_contrib/zip/4.5.0](https://codeload.github.com/opencv/opencv_contrib/zip/4.5.0)

    一、准备工作​

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


    设置环境变量​

  • 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​

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

  • 上面步骤做好以后,点击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)=》编辑器选项=》库与头文件路径​




  • 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();
    }​



    如何用CMake和DevCPP编译OpenCV4?

    编写测试程序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全部结束了。​