Qt5.2+opencv2.4.9配置安装过程

Stella981
• 阅读 802

Qt5.2+Opencv2.4.9的安装与配置

安装环境

Win10系统

Qt5.2.0

Opencv2.4.9

1. 安装Qt5.2.0

安装在D:\Qt\5.2.0文件夹(记为A文件夹)

Qt下载地址:

http://download.qt-project.org/official_releases

http://ftp.vim.org/languages/qt/archive/qt/

http://download.qt.io/archive/qt

2. Opencv 2.4.9的安装

Opencv官网:https://opencv.org/

下载Opencv 2.4.9

解压到:E:\opencv2.4\opencv\opencv(记为B文件夹)

3. Cmake的安装

我安装到了E盘

CMake下载地址: http://www.cmake.org/cmake/resources/software.html

注意路径中不能有空格和中文,在安装过程中,勾选为所有用户加入到环境变量

4. 配置环境变量

Path设置

opencv环境变量:(我的路径)

E:\opencv2.4\opencv\opencv\build\includeopencv

E:\opencv2.4\opencv\opencv\build\include\opencv2

E:\opencv2.4\opencv\opencv\build\include

qt环境变量:(mingw)

D:\Qt\5.2\mingw48_32\bin(cmake Generate用到)

D:\Qt\Tools\mingw48_32\bin (cmake Configure用到)

具体配置结果如下图:

Qt5.2+opencv2.4.9配置安装过程

CMake使用

首先,确定一个目标文件夹位置:这里选择 D:/programFiles/opencv2.4

Where is the source code: E:/opencv2.4/opencv/opencv/sources

Where to build the binaries: D:/programFiles/opencv2.4

然后,点击Configure,在弹出的框中选择MinGW Makefiles ,并勾选 Specify native compilers.

接着配置C和C++编译器路径:

C: D:\Qt\5.2\mingw48_32\bin\gcc.exe

C++: D:\Qt\5.2\mingw48_32\bin\g++.exe

点击finish开始配置

如果报错,说明D:\Qt\Tools\mingw48_32\bin 没加到PATH中

这时,会在目标目录下生产一些文件。cmake界面出来了一些可选项勾选QT和OPENGL,其他不用改,再次点击Configure。如果报错,说明D:\Qt\5.2\mingw48_32\bin 没加到PATH中

注意: 一定要勾选WITH_QT 和 WITH_OPENGL

点击Generate,成功后,底下会提示Generating done

环境继续配置

这时,在D:/programFiles/opencv2.4文件夹下会生成一系列文件Makefile相关

然后,安装shift,右键鼠标,打开cmd,输入mingw32-make命令

会花比较长的时间进行这个编译过程。

编译完成以后,输入mingw32-make intall命令

这个过程很快就会完成。

_最后_,选择一个文件夹作为最终文件的存放地址:这里选择E:\opencvForQt文件夹。

需要做以下工作:

  • 将目标路径下install文件中的include文件复制到最终文件存放的位置E:\opencvForQt中
  • 将目标路径下的bin文件复制到最终文件存放的位置E:\opencvForQt中
  • 将目标路径下的lib文件复制到最终文件存放的位置E:\opencvForQt中
  • 最终将本文件夹下的bin加入path中

5. 测试配置是否成功

在pro文件夹中加入以下配置说明:

INCLUDEPATH+=E:\opencvForQt\include
INCLUDEPATH+=E:\opencvForQt\include\opencv
INCLUDEPATH+=E:\opencvForQt\include\opencv2
LIBS += -L E:\opencvForQt\lib\libopencv_*.a

完整配置:

QT       += core

QT       -= gui

TARGET = testOpencv
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp


INCLUDEPATH+=E:\opencvForQt\include
INCLUDEPATH+=E:\opencvForQt\include\opencv
INCLUDEPATH+=E:\opencvForQt\include\opencv2
LIBS += -L E:\opencvForQt\lib\libopencv_*.a

在main.cpp中修改:

对文件名进行修改即可进行测试。

#include <QCoreApplication>
#include <opencv2/opencv.hpp>
#include <iostream>
 
using namespace cv;
 
int main()
{
    Mat image;
    image = cv::imread("K:/QTtest/untitled/1.bmp");
 
    if(image.empty())
       return 1;
 
    imshow("image", image);
 
    waitKey(0);

}

参考文章

https://blog.csdn.net/zhlgang/article/details/71123246

https://blog.csdn.net/qq_15947787/article/details/77600099

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这