Window10 OpenCV3.4.7 CMake3.18.0 QT5.5.0 编译配置及调用
QT开发中经常遇到使用OpenCV,记录一下OpenCV库的编译调用过程。
承接各类STM32项目、JAVA、C++、Android、微信、Linux,毕业设计开发
手机:18559979152(微信同号)
环境:Window10 64位
一、安装软件:1、OpenCV 2、CMake 3、QT
1、安装OpenCV 3.4.7
下载地址:https://opencv.org/releases/ opencv-4.3.0-vc14_vc15.exe
安装OpenCV很简单,其实就是一个解压动作,解压到非中文目录下,我的目录是C:\OpenCV3.4.7
2、安装QT5.5.0
qt-opensource-windows-x86-mingw492-5.5.0.exe
下载地址:http://download.qt.io/archive/qt/
我下载的是5.5带MinGW版本,安装没什么好讲的,直接下一步,下一步,完成
3、安装CMake3.18
cmake-3.18.0-rc2-win64-x64.msi
下载地址:https://cmake.org/download/
安装时注意选择添加到系统变量,其它默认一路下一步,直到完成
二、配置环境变量
C:\Program Files\CMake\bin CMake环境变量
C:\Qt\Qt5.5.0\Tools\mingw492_32\bin MinGW环境变量
三、配置编译OpenCV
打开刚才安装的CMake
设置OpenCV源码路径
设置OpenCV编译输出路径(自建目录)
然后点击下面的Configure按钮,弹出窗口中的<指定该项目的生成器>选择MinGW Makefiles,下面单选框选择Specify native compilers,单击下一步;
弹出窗口,选择C和C++编译器的目录,在QT5.5目录中tools目录里的MinGW工具里,单Finish完成
红色行为有错误,按下面的信息修改就行了,第一次点配置按钮,要很长时间,更改后重新单击配置按钮,直到没有错误
选中“WITH_OPENGL”、“WITH_QT”,将“WITH_IPP”取消。然后再次点【Configure】
Qt5_DIR 值为:C:/Qt/Qt5.5.0/5.5/mingw492_32/lib/cmake/Qt5
QT_QMAKE_EXECUTABLE 值为:C:/Qt/Qt5.5.0/5.5/mingw53_32/bin/qmake.exe
Qt5Concurrent_DIR 值为:C:/Qt/Qt5.5.0/5.5/mingw53_32/lib/cmake/Qt5Concurrent
Qt5Core_DIR 值为:C:/Qt/Qt5.5.0/5.5/mingw53_32/lib/cmake/Qt5Core
Qt5Gui_DIR 值为:C:/Qt/Qt5.5.0/5.5/mingw53_32/lib/cmake/Qt5Gui
Qt5Test_DIR 值为:C:/Qt/Qt5.5.0/5.5/mingw53_32/lib/cmake/Qt5Test
Qt5Widgets_DIR 值为:C:/Qt/Qt5.5.0/5.5/mingw53_32/lib/cmake/Qt5Widgets
Qt5OpenGL_DIR 值为:C:/Qt/Qt5.5.0/5.5/mingw53_32/lib/cmake/Qt5OpenGL
当信息显示Configuring done且没有错误时,单击generate按钮,生成完毕后,先不要关闭CMake如果后面编译有错误,还要更改配置。
下面开始用MinGW来编译OpenCV
使用管理员模式打开CMD
cd 到刚才CMake生成的源码目录(就是之前自己新建的文件夹),准备编译
输入“mingw32-make”命令,如果提示找不到命令啥的,看看文章前面的MinGW系统变量是不是没有设置,目录为C:\Qt\Qt5.5.0\Tools\mingw492_32\bin,根据你的QT安装位置设置环境变量
按回车进行编译
哦霍
一片绿油油后出现error
错误1
[ 40%] Building RC object modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj
gcc: error: long: No such file or directory
解决方法:在cmake里面找到OPENCV_ENABLE_ALLOCATOR_STATS或者在search里面搜索,然后把后面的勾选去掉,接着Configure和Generate后,接着在cmd窗口中mingw32-make即可继续编译。
错误2
C:\OpenCV3.4.7\modules\videoio\src\cap_dshow.cpp:2298:41: error: 'sprintf_instead_use_StringCbPrintfA_or_StringCchPrintf
A' was not declared in this scope
C:\OpenCV3.4.7\modules\videoio\src\cap_dshow.cpp中添加
#define STRSAFE_NO_DEPRECATE
错误3
chmod’ 不是内部或外部命令,也不是可运行的程序 或批处理文件
if(NOT CMAKE_HOST_WIN32) # chmod may be not available on Win32/MinGW (and it is not required)
set(_pch_prepare_command COMMAND chmod +x "${_pch_generate_file_cmd}")
endif()
ADD_CUSTOM_COMMAND(
OUTPUT "${_output}"
COMMAND ${CMAKE_COMMAND} -E make_directory "${_outdir}"
COMMAND chmod +x "${_pch_generate_file_cmd}"
${_pch_prepare_command}
错误4
报错文件test_hdr.cpp
error: 'time' was not declared in this scope
在头部引用一下
#include <sys/time.h>
错误5
错误行:C:/OpenCV3.4.7Build/modules/dnn/test_precomp.hpp:50:27: fatal error: test_common.hpp: No such file or directory
#include "test_common.hpp"
把C:\OpenCV3.4.7\modules\dnn\test\test_common.hpp复制到C:\OpenCV3.4.7Build\modules\dnn\
经过个把小时绿油油输出后,编译完成。
编译成功后,再输入mingw32-make install,回车运行
安装完成
将编译生成目录中的bin目录添加到系统变量
C:\OpenCV3.4.7Build\bin
四、QT调用测试
打开QT新建一个工程
在xxx.pro中添加
INCLUDEPATH+="C:\OpenCV3.4.7Build\install\include"
INCLUDEPATH+="C:\OpenCV3.4.7Build\install\include\opencv"
INCLUDEPATH+="C:\OpenCV3.4.7Build\install\include\opencv2"
LIBS += C:\OpenCV3.4.7Build\lib\libopencv_*.a
在main.cpp中添加
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
//声明IplImage指针
IplImage *pImg;
//载入图片
pImg = cvLoadImage("D:\\0200626235750.jpg", 1);
//创建窗口
cvNamedWindow("Image",1);
//显示图像
cvShowImage("Image",pImg);
//等待按键
cvWaitKey(0);
//销毁窗口
cvDestroyWindow("Image");
//释放图像
cvReleaseImage(&pImg);
}
运行程序,如果显示如下图,则调用成功
Window10 OpenCV3.4.7 CMake3.18.0 QT5.5.0 编译配置及调用相关推荐
- VS2013+OSG3.4.0+Qt5.5.1编译(超详)
准备 第一步,下载所需要文件,编译osg需要三个文件osg.osg第三方库和osgdata,编译时需要用到cmake软件,我用的是vs2013和osg3.4.0 osg文件:http://www.op ...
- PCL1.8.0/ Qt5.7.0开发环境配置
配置了几天pcl+vs+qt的开发环境未成功,退而求其次配置了qt+pcl的开发环境,特写下这篇文章备忘,本文参考了以下文章,感谢博主. https://blog.csdn.net/qq_347191 ...
- 【Y忍冬草】Qt5.8_VTK7.0_VS2015编译配置及测试中问题
最近在做一个基于Qt的三维点云软件,涉及到点云的显示及操作,所以要在Qt中完成QVTKWidget插件的添加.在浮躁的心态下折腾了两天才成功的实现Qt5.8_VTK7.0_VS2015的编译配置及测试 ...
- AVB源码学习(一):AVB2.0工作原理及编译配置
参考资料 感谢前辈的blog,安全相关的资料可太少了,很详细很卓越 https://blog.csdn.net/jackone12347/article/details/116241676 前言 在这 ...
- OpenCV4.0.1/4.0.0/3.4.2 + Contrib + Qt5.9 + CMake3.12.1编译及踩坑笔记、Qt5+OpenCV配置、代码验证、效果图、福利彩蛋
Table of Contents 前言 Windows 10, OpenCV4.0.1, Qt5.9.3, CMake3.12.1, MinGW5.3.0 Windows 10, OpenCV4.0 ...
- vs2013+opencv3.1.0+qt5.3.5图像算法开发环境
vs2013+opencv3.1.0+qt5.3.5图像算法开发环境 – 文章目录 vs2013+opencv3.1.0+qt5.3.5图像算法开发环境 前言 一.vs2013 二.opencv3.1 ...
- OpenCV3.2+Qt5.8.0+Win10开发视频监控系统----Qt之设置应用程序图标
一.图标设置效果 (1)未设置前 (2)设置后 二.设置步骤 1.首先,创建一个图标格式的位图文件,其中包含图标的图像. (1)这可以用例如微软Visual Studio,选择:文件 -> 新建 ...
- opencv3.4.0安装contrib3.0.0模块
1.## 需要下载的安装包 opencv3.4.0 百度云链接:https://pan.baidu.com/s/1O1KopBEBP8AGu8HgFhlVAQ 提取码:1c1n opencv_cont ...
- Ubuntu 18.4 qt5.12 安装搜狗拼音输入法
Ubuntu 18.4 qt5.12 安装搜狗拼音输入法 安装fcitx 使用命令行模式安装 apt install fcitx 搜狗拼音 下载搜狗输入法 搜狗输入法下载地址 安装搜狗输入法 dpkg ...
最新文章
- 快速生成树算法java_生成树RSTP,快速生成树协议,交换网络必用的破环协议,面试必备...
- 循环取矩阵的某行_1.2 震惊! 某大二本科生写的矩阵乘法吊打Mathematica-线性代数库BLAS-矩阵 (上)...
- Hybris Commerce下单时遇到产品库存不足的解决办法
- 如何使用 tf object detection
- CentOS安装Oracle12C
- Linux运行级别介绍和root忘记密码找回方法
- mysql索引增加栏位_mysql 添加索引 mysql 如何创建索引
- 指针常量和常量指针的区别
- 最详细的wine配置
- Python爬虫—爬取京东商品信息(自动登录,换关键词,换页)
- 如何使用 React Native 构建信用卡扫描仪
- HCIP-三层网络架构实验
- 网络表情NLP(一)︱颜文字表情实体识别、属性检测、新颜发现
- 计算广告——搜索广告技术初窥
- Go语言核心之美 2.4-布尔值
- jwt_token的有效时间和刷新时间
- RK3399教程:linux clk使用
- NoteBurner iTunes DRM Audio Converter for Mac(音频转换工具) V2.4.4破解版
- Android Bugly的使用
- 中国聚客网[http://www.crossgo.com]正式开通拉!
热门文章
- JVM最佳学习笔记---总览
- 有c语言基础学python容易吗_学习Python需要先学C语言吗?0基础学Python难度大吗?
- 项目作业丨对话式对战游戏
- 300M的联通宽带,电脑直接连接光猫只有100M;电脑连接路由器,然后路由器连接光猫却有300M???
- openstack私有云布署实践【16.1 CentOS7.1 只有根分区镜像制作】
- MATLAB—数组运算及数组化编程
- 在for循环中运行setTimeout
- 计算机基础知识用语,电脑基础知识之常见术语
- LDD3源码分析之时间与延迟操作
- 63、基于51单片机数字频率计NE555数码管显示系统设计(程序+原理图+Proteus仿真+参考论文+开题报告+任务书+元器件清单等)