配置QT Mingw & opencv
可以直接从这里下载别人构建好的
https://github.com/huihut/OpenCV-MinGW-Build
--------------------------------------------------------------------------
1、下载并安装QT5.12或更高版本,勾选MingW x64
2、把qt bin目录加入PATH:
C:\Qt\Qt5.12.1\5.12.1\mingw73_64\bin
C:\Qt\Qt5.12.1\Tools\mingw730_64\bin
3、下载opencv4.0或更高版本,解压为 D:\software\opencv\sources
4、下载CMake3.14或更高版本,安装时选择把bin目录加入PATH
5、安装python2.7.16,安装时选择把bin目录加入PATH
6、安装JDK1.8
7、启动CMake,输入源代码和构建目录:
源代码目录:D:\software\opencv\sources
构建目录:D:\software\opencv\build
点击左下角的Configuration按钮,选择构建模式为MingGW makefiles,选择 Native Compiler,选择C和C++编辑器的位置:
C:\Qt\Qt5.12.1\Tools\mingw730_64\bin\gcc.exe
C:\Qt\Qt5.12.1\Tools\mingw730_64\bin\g++.exe
然后等待配置。
8、配置完成后,勾选WITH_OPENGL和WITH_QT两项,选择CMAKE_BUILD_TYPE为Release,再次configure。
9、正式开始构建
cd D:\software\opencv\build
mingw32-make -j 8
mingw32-make install
-------------------------------------------------------------------------------------------------
新建一个QT项目,修改.pro文件,加入:
INCLUDEPATH += D:\software\OpenCV-MinGW-Build-OpenCV-4.0.1-x64\include
LIBS += D:\software\OpenCV-MinGW-Build-OpenCV-4.0.1-x64\x64\mingw\bin\libopencv_core401.dll
LIBS += D:\software\OpenCV-MinGW-Build-OpenCV-4.0.1-x64\x64\mingw\bin\libopencv_highgui401.dll
LIBS += D:\software\OpenCV-MinGW-Build-OpenCV-4.0.1-x64\x64\mingw\bin\libopencv_imgproc401.dll
LIBS += D:\software\OpenCV-MinGW-Build-OpenCV-4.0.1-x64\x64\mingw\bin\libopencv_calib3d401.dll
LIBS += D:\software\OpenCV-MinGW-Build-OpenCV-4.0.1-x64\x64\mingw\bin\libopencv_imgcodecs401.dll
LIBS += D:\software\OpenCV-MinGW-Build-OpenCV-4.0.1-x64\x64\mingw\bin\libopencv_videoio401.dll
修改main.cpp,如下:
#include "widget.h" #include <QApplication> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv; using namespace std; int main(int argc, char *argv[]) { Mat image = imread("C:\\Users\\Administrator\\Desktop\\1.bmp", 0); namedWindow("image"); imshow("image", image); Mat contours; Canny(image, //灰度图 contours, //输出轮廓 125, //低阈值 350); //高阈值 //因为正常情况下轮廓是用非零像素表示 我们反转黑白值 Mat contoursInv; //反转后的图像 threshold(contours, contoursInv, 128, //低于该值的像素 255, //将变成255 THRESH_BINARY_INV); namedWindow("contoursInv"); imshow("contoursInv", contoursInv); waitKey(0); return 0; }
作者:Lave Zhang
出处:http://www.cnblogs.com/lavezhang/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步