使用Qt创建一个OpenCV工程_末叶的博客-程序员宅基地

技术标签: Qt  OpenCV  图像处理  openCV  

要使用Qt创建一个工程

需要以下几步:

第一步:下载安装并配置OpenCV版本;

我用的是OpenCV2.43版本,好像2.2以后的版本可以不用自己编译,使用安装解压出来的库就可以了.

第二步:下载安装并配置Qt

我用的是5.02版本,安装配置好就行了,新版本的一般也不需要配置什么的.

第三步:开始创建一个简单的控制台程序

(1)打开Qt Creator,选择创建一个控制台程序

点击选择:


下一步:


点击下一步


点击完成创建成功:

(2)创建成功后会有两个文件,一个是main.cpp文件 另一个是XXX.pro文件

点击打开.pro文件

在最后添加:

INCLUDEPATH += E:\opencv\build\include
CONFIG(release,debug|release){
    LIBS += E:\opencv\build\x86\vc10\lib\opencv_calib3d243.lib \
            E:\opencv\build\x86\vc10\lib\opencv_contrib243.lib \
            E:\opencv\build\x86\vc10\lib\opencv_core243.lib \
            E:\opencv\build\x86\vc10\lib\opencv_features2d243.lib \
            E:\opencv\build\x86\vc10\lib\opencv_flann243.lib \
            E:\opencv\build\x86\vc10\lib\opencv_gpu243.lib \
            E:\opencv\build\x86\vc10\lib\opencv_haartraining_engine.lib \
            E:\opencv\build\x86\vc10\lib\opencv_highgui243.lib \
            E:\opencv\build\x86\vc10\lib\opencv_imgproc243.lib \
            E:\opencv\build\x86\vc10\lib\opencv_legacy243.lib \
            E:\opencv\build\x86\vc10\lib\opencv_ml243.lib \
            E:\opencv\build\x86\vc10\lib\opencv_nonfree243.lib \
            E:\opencv\build\x86\vc10\lib\opencv_objdetect243.lib \
            E:\opencv\build\x86\vc10\lib\opencv_photo243.lib \
            E:\opencv\build\x86\vc10\lib\opencv_stitching243.lib \
            E:\opencv\build\x86\vc10\lib\opencv_video243.lib \
            E:\opencv\build\x86\vc10\lib\opencv_videostab243.lib \
}
CONFIG(debug,debug|release){
    LIBS += E:\opencv\build\x86\vc10\lib\opencv_calib3d243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_contrib243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_core243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_features2d243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_flann243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_gpu243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_haartraining_engined.lib \
            E:\opencv\build\x86\vc10\lib\opencv_highgui243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_imgproc243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_legacy243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_ml243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_nonfree243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_objdetect243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_photo243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_stitching243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_ts243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_video243d.lib \
            E:\opencv\build\x86\vc10\lib\opencv_videostab243d.lib \
}
比较懒 把所有库都加上了,以后使用方便;

此处参考了 http://blog.csdn.net/sky_freebird/article/details/6684857 的博客

注意可能includepath包含的路径不一样,需要依据自己机器的情况修改

由于可能使用的openCV文件的版本不一样,可能包含的库不一样,需要自己打开路径查看,库名称后面有个d的是DeBug 版本的;

设置包含路径的时候要注意不要设置错了include路径

我的openCV中的路径中有两个include

E:\opencv\include 

E:\opencv\build\include

设置上面那个是没有用的,需要设置下面的这个路径


(3)修改main.cpp文件就可以了

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

int main()
{
    //read an image
    cv::Mat image = cv::imread("C:\\Users\\chenchao\\Desktop\\airplane.jpg");
    //create image window
    cv::namedWindow("My Image");
    //show the image
    cv::imshow("My Image",image);
    //wait
    cv::waitKey();
    return 1;
}

(4)运行显示成功



程序可在以下联接中下载

http://download.csdn.net/detail/cc7829290/5466711

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cc7829290/article/details/8984706

智能推荐

Hadoop的MapReduce实例讲解—Python写的WordCount Demo-程序员宅基地

MapReduce是hadoop这只大象的核心,Hadoop 中,数据处理核心就是 MapReduce 程序设计模型。一个Map/Reduce 作业(job) 通常会把输入的数据集切分为若干独立的数据块,由 map任务(task)以完全并行的方式处理它们。框架会对map的输出先进行排序, 然后把结果输入给reduce任务。通常作业的输入和输出都会被存储在文件系统中。因此,我们的编程中心主要...

记一次自己踩坑的经历_ioexception occured when talking to server at-程序员宅基地

记一次自己踩坑的经历,只为以后少踩一些坑最近由于做搜索,所以用到了solr,在学习的过程中服务器上搭建了solr,通过浏览器可以正常访问,但是用spring data solr做为客户端的时候创建索引总是报错,整整花了半天的时间,起初以为自己solrhome的schema.xml中的域配置有问题,白白浪费了半天时间报错如下org.springframework.data.solr.Uncat..._ioexception occured when talking to server at

HTML5----22个技巧-程序员宅基地

1. 新的文档类型(Doctype)"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">上面这个既麻烦又难记的XHTML文档类型你还在使用吗? 如果还是这样的话,现在该切换到新的HTML5文档类型了。现在只要这么简单的15个字符就可以了。(注意:你的doctype的申明需要出现在你html文件的第一行。)2

Ubuntu 20.04 引入 pip3 国内源时,提示E212:无法打开并写入文件_ubuntu无法打开并写入文件-程序员宅基地

此时说明没有权限进行编辑,解决方法如下:sudo su // 转为 root 模式输入密码,进入 root 模式cd ~ // 进入 根目录mkdir .pipsudo chmod 777 .pip // 所有人都有 read,write, exectute 权限;rwx 位都对应值为1;cd .pipsudo vim pip.conf在 vim 中,粘贴下述内容: [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simp_ubuntu无法打开并写入文件

Java中FreeMaker的使用-程序员宅基地

介绍freemarker是什么以及如何在java中使用

C++学习记录 二、指针,通讯录管理系统-程序员宅基地

再系统地过一次,夯实基础学习目标:过一遍黑马程序员C/C++学习视频文章目录学习目标:学习内容:7. 指针 (后续都用超链接更新)二、通讯录关系系统三、C++核心编程四、基于多态的企业职工系统五、C++提高变成六、基于STL泛化变成的演讲比赛七、C++实战项目机房预约管理系统学习时间:学习产出:学习内容:## 一、C++基础入门7. 指针 (后续都用超链接更新)二、通讯录关系系统三、C++核心编程四、基于多态的企业职工系统五、C++提高变成六、基于STL泛化变成的演讲比

随便推点

Linux下的Vlan子接口(逻辑子接口)_linux网卡子接口作用_Tech Talking的博客-程序员宅基地

一、Vlan子接口基础知识vlan子接口定义:通过协议和技术将一个物理接口(interface)虚拟出来的多个逻辑接口。vlan子接口共享物理网卡的流量。相对子接口而言,这个物理接口称为主接口。每个子接口从功能、作用上来说,与每个物理接口是没有任何区别的,它的出现打破了每个设备存在物理接口数量有限的局限性。在路由器中,一个子接口的取值范围是0~4095,共4096个,当然受主接口物理性能限制,实际中并无法完全达到4096个,数量越多,各子接口性能越差。子接口与主接口的关系:子接口共用主接._linux网卡子接口作用

pywebview:使用python构建桌面客户端应用_量化投资助手的博客-程序员宅基地

我编写了一些python程序,但我并不满足与只用命令行运行,我希望能构建一个具有界面的桌面客户端应用,来运行我python程序的各种功能。作为一个前端工程师,我最熟悉的当然就是Electron,这是构建桌面应用最强大的利器。但Electron与python语言平台基本毫无关系,而且也比较重,Electron内置了V8引擎和Chrome内核,如果我只专注于编写python程序,这些也用不太上。所以,再三考虑之后,我转战了pywebview。_pywebview

Mysql高可用之MHA+Atlas读写分离_mha+altas-程序员宅基地

1. MySQL MHA架构介绍​ MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。github地址:https:/_mha+altas

Toast通知栏权限填坑指南-程序员宅基地

本文章已授权鸿洋微信公众号转载:Toast不显示了?吐司弹不出来完美的解决方案:ToastUtils,接下来让我们来一步步开始分析这个问题是如何出现,解决的过程,以及解决的方法首先我们先看一下大厂 APP 的弹吐司疑问连吐司弹不出来的手机是个什么梗?是少部分机型问题还是大多数机型的问题?为什么关闭了通知栏权限弹不出来?为什么有的机型可以弹有的却不行?解答..._toast 设置权限

Ansible运维自动化_Mr小三的博客-程序员宅基地

文章目录一、Ansible安装1.Epel源安装2.编译安装3.Git方式安装4.pip安装二、Ansible相关工具ansible-docansibleansible主机清单三、Ansible常用模块1.ping模块2.command模块3.shell模块4.script模块5.copy模块6.fetch模块7.file模块8.archive和unarchive9.cron模块10.yum模块11.service和systemd12.user和group13.Setup模块四、Ansible-playbo

给定一个字符串,查找该字符串中第一个重复出现的字符索引。要求:时间复杂度为O(n)。_查找相同字符的时间复杂度-程序员宅基地

给定一个字符串,查找该字符串中第一个重复出现的字符索引。要求:时间复杂度为O(n)。_查找相同字符的时间复杂度

推荐文章

热门文章

相关标签