我就找地记录下配置过程.

  1. 先下载opencv 官网http://opencv.org/
  2. 编译opencv需要cmake, so下载cmake吧 官网https://cmake.org
  3. 在Qt选项中--编译与运行cmake项中配置好cmake
  4. 用Qt打开项目opencv/source/CmakeLists.txt, 于是你会发现它哗啦啦生成一大堆东西.
    然后一般的教程就不往下说了, 于是就被坑了!!!

好吧, 经过各种谷各种歌之后, 果然let's go!

  1. 生成完了后 用qt运行, 这个时候会调用mingW32-make来编译opencv
  2. 嗯最好加一下mingW32-make的环境变量.
  3. 编译好了后 进入qt刚刚生成的build-xxxxx的目录, 在项目中可以配置该目录
  4. 用 mingW32-make install 很快的就会安装好 安装好后文件在当前目录下的install文件夹内.
  5. 我们需要用到的就是 opencv源码包里 build/include (里面有opencv和opencv2文件夹)

    mingW32-make install命令生成的 install文件夹
    添加install文件夹下的xx/bin到系统path下。
  6. [开始使用opencv]
  7. 用qt创建一个新的控制台应用
  8. 修改pro文件的内容, 加入

        INCLUDEPATH += \
            D:/OpenCV/include \
            D:/OpenCV/include/opencv/ \
            D:/OpenCV/include/opencv2/
        
        LIBS += \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_calib3d310.dll.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_core310.dll.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_features2d310.dll.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_flann310.dll.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_highgui310.dll.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_imgcodecs310.dll.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_imgproc310.dll.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_ml310.dll.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_objdetect310.dll.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_photo310.dll.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_shape310.dll.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_stitching310.dll.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_superres310.dll.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_ts310.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_video310.dll.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_videoio310.dll.a \
            D:/OpenCV/mingw/x86/mingw/lib/libopencv_videostab310.dll.a
    
        //当然D盘什么的地址是我当前的盘符地址, 记得改一下嗷, 还有libs中 x.dll.a文件由于opencv版本不一样, 可能有差别
    
  9. 在main.cpp中添加一个测试代码吧
        #include <opencv2/core/core.hpp>
        #include <opencv2/highgui/highgui.hpp>
        #include <opencv2/imgproc/imgproc.hpp>
        
        using namespace cv;

        int main()
        {
            //声明IplImage指针
            IplImage*pImg;
            //载入图片
            pImg=cvLoadImage("e:/a.jpg",1);
            //创建窗口
            cvNamedWindow("my",1);
            //显示图像
            cvShowImage("my",pImg);
            //等待按键
            cvWaitKey(0);
            //销毁窗口
            cvDestroyWindow("my");
            //释放图像
            cvReleaseImage(&pImg);
            return 0;
        }

能运行就说明安装ok啦, 嗯, 我去玩opencv去了~