本文使用的软件包:
QT、cmake、opencv库
由于主要参考的是以下两个博客,这里就根据他们的内容关键点截图加上一些自己遇到的问题来写,具体细节可参考下面两个链接。
1. https://blog.csdn.net/luolaihua2018/article/details/111409213
2. https://blog.csdn.net/ltc0106/article/details/100189313
下载地址:http://download.qt.io/archive/qt/5.13/5.13.0/
QT安装具体细节见博客2,注意以下几步
同时注意系统变量的添加,博客二中有详细说明。
下载地址: https://cmake.org/download/
选最新版本即可
下载地址: https://opencv.org/releases/
根据自己的系统选择
在第三行的Search中,搜索WITH_QT,打勾。
搜索WITH_OPENGL,打勾。
搜索ENABLE_PRECOMPILED_HEADERS,取消打勾。
搜索QT5_DIR,将“你的QT路径\5.13.0\mingw73_64\lib\cmake\Qt5”填进去。 例如我的是:D:\WorkApp\QT\5.13.0\mingw73_64\lib\cmake\Qt5,完成以上操作后点击Configure进行第二次Configure。
(7)(8)步中可能会遇到不同的情况,此时可根据具体情况google or百度,直到Configure done.
编译命令:
mingw32-make.exe -j(线程数量)
线程数量根据自己电脑cpu性能酌情填写。4核CPU就填4,8核心就填8,以此类推,例如我是8核心的就填“mingw32-make.exe -j8”即可,如果直接mingw32-make.exe命令编译的话会很慢,在用四线程或者更高线程时会快很多,但是可能会出现各种错误,出现错误时可修改线程数继续编译,如果仍不成功需自行google or 百度解决方案,参考博客1和2中给出了一些常见问题的解决方法。这也是整个配置过程中最复杂的一步。
(10)漫长的等待后,终于完成了,完成之后输入命令“mingw32-make.exe install”完成最后的编译,完成后,opencv库的编译已经成功。
mingw32-make.exe install
每次在QT中新建文件时要注意文件路径必须是英文,打开.pro文件,加入
INCLUDEPATH += D:\opencv\opencv\opencv-build\install\include\opencv2 \ D:\opencv\opencv\opencv-build\install\include LIBS += D:\opencv\opencv\opencv-build\install\x64\mingw\lib\libopencv*.a
根据自己的include和lib文件路径进行选择!*.a表示所有不同后缀的文件
QT中一些常见的头文件:
#include <opencv2/highgui/highgui_c.h> #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/core/core.hpp> using namespace cv;
测试程序(打开一张图片):
int main() { cv::Mat img; img = cv::imread("C:\\Users\\study\\Pictures\\1.png");//参数1:图片路径。参数2:显示原图 namedWindow("窗口1",CV_WINDOW_NORMAL); /*注释 参数1:窗口的名字 参数2:窗口类型,CV_WINDOW_AUTOSIZE 时表明窗口大小等于图片大小。不可以被拖动改变大小。 CV_WINDOW_NORMAL 时,表明窗口可以被随意拖动改变大小。 */ imshow("窗口1", img);//在“窗口1”这个窗口输出图片。 waitKey(5000);//等待5秒,程序自动退出。改为0,不自动退出。 return 0; }
成功显示即大功告成!