QT开发中经常遇到使用OpenCV,记录一下OpenCV库的编译调用过程。 环境:Window10 64位 下载地址:https://opencv.org/releases/ opencv-4.3.0-vc14_vc15.exe 安装OpenCV很简单,其实就是一个解压动作,解压到非中文目录下,我的目录是C:OpenCV3.4.7 qt-opensource-windows-x86-mingw492-5.5.0.exe 下载地址:https://download.qt.io/archive/qt/ 我下载的是5.5带MinGW版本,安装没什么好讲的,直接下一步,下一步,完成 cmake-3.18.0-rc2-win64-x64.msi 下载地址:https://cmake.org/download/ 安装时注意选择添加到系统变量,其它默认一路下一步,直到完成 C:Program FilesCMakebin CMake环境变量 C:QtQt5.5.0Toolsmingw492_32bin MinGW环境变量 打开刚才安装的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 当信息显示Configuring done且没有错误时,单击generate按钮,生成完毕后,先不要关闭CMake如果后面编译有错误,还要更改配置。 使用管理员模式打开CMD cd 到刚才CMake生成的源码目录(就是之前自己新建的文件夹),准备编译 输入“mingw32-make”命令,如果提示找不到命令啥的,看看文章前面的MinGW系统变量是不是没有设置,目录为C:QtQt5.5.0Toolsmingw492_32bin,根据你的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.7modulesvideoiosrccap_dshow.cpp:2298:41: error: ‘sprintf_instead_use_StringCbPrintfA_or_StringCchPrintf C:OpenCV3.4.7modulesvideoiosrccap_dshow.cpp中添加 错误3 chmod’ 不是内部或外部命令,也不是可运行的程序 或批处理文件 if(NOT CMAKE_HOST_WIN32) # chmod may be not available on Win32/MinGW (and it is not required) 错误4 报错文件test_hdr.cpp 在头部引用一下 错误5 错误行:C:/OpenCV3.4.7Build/modules/dnn/test_precomp.hpp:50:27: fatal error: test_common.hpp: No such file or directory 把C:OpenCV3.4.7modulesdnntesttest_common.hpp复制到C:OpenCV3.4.7Buildmodulesdnn 经过个把小时绿油油输出后,编译完成。 编译成功后,再输入mingw32-make install,回车运行 安装完成 将编译生成目录中的bin目录添加到系统变量 C:OpenCV3.4.7Buildbin 打开QT新建一个工程 在xxx.pro中添加 在main.cpp中添加 #include <cv.h> int main(int argc, char *argv[]) } 运行程序,如果显示如下图,则调用成功一、安装软件:1、OpenCV 2、CMake 3、QT
1、安装OpenCV 3.4.7
2、安装QT5.5.0
3、安装CMake3.18
二、配置环境变量
三、配置编译OpenCV
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
下面开始用MinGW来编译OpenCV
A’ was not declared in this scope
#define STRSAFE_NO_DEPRECATE
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}error: ‘time’ was not declared in this scope
#include <sys/time.h>
#include “test_common.hpp”四、QT调用测试
INCLUDEPATH+="C:OpenCV3.4.7Buildinstallinclude" INCLUDEPATH+="C:OpenCV3.4.7Buildinstallincludeopencv" INCLUDEPATH+="C:OpenCV3.4.7Buildinstallincludeopencv2" LIBS += C:OpenCV3.4.7Buildliblibopencv_*.a
#include <cxcore.h>
#include <highgui.h>
{
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);
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算