莫问前程,但行好事。
下载opencv3.4.1+contrib(两个包的版本需要对应)
opencv3.4.1 下载地址:https://github.com/opencv/opencv/releases
拓展库下载地址:https://github.com/opencv/opencv_contrib/releases
下载cmake(记得需要把cmake添加到环境变量中)
cmake下载地址:https://cmake.org/download/
目前准备工作就差安装Qt了,如果没有安装Qt的同学,请参考我之前的Qt安装文章,里面有各种版本的Qt备份及安装教程,安装完Qt也需要把安装目录里面的Tools\mingw530_32添加到环境变量中。Qt版本资源备份及安装教程
使用cmake配置编译opencv生成cmakeList
打开cmake,选择源码目录和编译后保存的目录。
配置完成后点击下方的Configure按钮,选择以下的编译工具。
再点击Finish之后开始编译,编译完成后会出现很多红色保存,以下为总结的配置。
-
筛选OPENCV_EXTRA_MODULES_PATH,
在Value中选择opencv_contrib-3.4.1目录下的modules子目录。 -
筛选
nonfree,勾选OPENCV_ENABLE_NONFREE
。 -
筛选
world,勾选BUILD_OPENCV_WORLD
。 -
以下为设置成自己实际安装Qt下目录,设置 Qt5Concurrent_DIR 为 F:\Qt\5.9.1\mingw53_32\lib\cmake\Qt5Concurrent
设置 Qt5Core_DIR 为 F:\Qt\5.9.1\mingw53_32\lib\cmake\Qt5Core
设置 Qt5Gui_DIR 为 F:\Qt\5.9.1\mingw53_32\lib\cmake\Qt5Gui
设置 Qt5Test_DIR 为F:\Qt\5.9.1\mingw53_32\lib\cmake\Qt5Test
设置 Qt5Widgets_DIR 为F:\Qt\5.9.1\mingw53_32\lib\cmake\Qt5Widgets
设置 Qt5OpenGL_DIR 为 F:\Qt\5.9.1\mingw53_32\lib\cmake\Qt5OpenGL
设置 CMAKE_BUILD_TYPE 为 Release
-
勾选 WITH_OPENGL,勾选 WITH_QT、不勾选 WITH_IPP、不选 ENABLE_PRECOMPILED_HEADERS、勾选OPENCV_ENABLE_NONFREE、不勾选 WITH_OPENCL_D3D11_NV、关于TEST的都取消。
-
直到没有红色内容出现,点击Genearate,会在build目录中生成
Makefile
。
编译
打开cmd控制台,cd \d build目录
输入mingw32-make
,这里有个加快编译的办法,就是启动多线程编译,在这条指令后面加上-j
(数字),数字多少代表线程多少。但请注意最好不要超过最大线程,不然编译时会报错。
mingw32-make -j 4
mingw32-make install
接下来在cmd中继续输入 mingw32-make install之后跑完即可.
Qt环境测试
在.pro 文件中添加配置链接上编译好的文件:
INCLUDEPATH+=E:/opencv-3.0.0-beta/opencv3.4.1/include/opencv
INCLUDEPATH+=E:/opencv-3.0.0-beta/opencv3.4.1/include/opencv2
INCLUDEPATH+=E:/opencv-3.0.0-beta/opencv3.4.1/include
LIBS+= -L LIBS+= -L E:/Qt-opencv/Qt-Opencv/install/x86/mingw/lib/libopencv_*.a
Widget添加一个Pushbutton按键,用于打开图片,在按钮中的槽信号中添加以下代码:
Mat image = imread("1.jpg");
if(image.empty())
{
namedWindow("can not find image ");
waitKey(5000);
return -1;
}
namedWindow("MyImage",1);
imshow("MyImage",image);
while(1)
waitKey(5000);