openCV编译安装-MSCV-Windows10-Qt
openCV编译安装-MSCV-Windows10-Qt
1、准备工作
CMake:下载最新版本即可
openCV:下载任意版本,可以下载源码或者官方编译好的VS版(其中也带有源码),我下载的是opencv-4.5.2-vc14_vc15.exe
Visual Studio:这里使用的是2017
Qt:下载5.14
2、解压
opencv-4.5.2-vc14_vc15.exe运行后会自解压到当前路径下的opencv文件夹中,如下图所示,其中build文件夹为官方已经编译好的,sources为源码;
3、Cmake编译
创建一个build文件夹,打开安装好的CMake软件,讲sources文件夹中的CMakeLists.txt拖到Cmake中,然后点击Browse Build讲路径设置为刚才创建的build。
点击Configure,选择2017,x64,这里注意如果安装了多个版本的vs需要选择Specify native compilers,如下图配置好后点击Finish,然后等待几分钟。
可以选择勾选BUILD_opencv_world,这样编译的所有的库将会生成一个opencv_world420.lib和一个opencv_ts420.lib,方便使用时打包,不勾选将会生成多个库文件。
再点击一次Configure,全部变白后就可以点击Grenerate生成sln
然后点击open Project打开生成的openCV.sln工程
4、Visual Studio编译
选择Release、x64
右键选择ALL_BUILD -> 点击生成或重新生成,就开始编译了,时间会比较长;
编译完成后右键选择INSTALL -> 点击生成或重新生成,将会在build文件夹下生成一个install文件夹,这个文件夹下就是我们编译好的文件。
4、添加环境变量
将编译好的install文件夹复制到自己喜欢的路径下,命名为opencv(名称随意)
打开系统属性 -> 环境变量
添加编译的库文件的路径,然后重启电脑
5、使用
创建一个qt工程,编译器选择与编译opencv相同的编译器,这里使用的是MSVC2017
右键工程,选择添加库
选择opencv_world***.lib
然后会生成如下图所示代码,注意如果没有编译debug版本(就是没有opencv_world***d.lib),需要将下列第二行代码删掉
将/x64/vc15改为include
添加头文件
#include <opencv2/opencv.hpp>
添加命名空间
using namespace cv;
输入如下代码就可以显示图片了
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
Mat image = imread("E:/tp/img/1.png");
imshow("image", image);
}
Widget::~Widget()
{
delete ui;
}
效果如下所示
openCV编译安装-MSCV-Windows10-Qt的更多相关文章
- ubuntu12.04下编译安装x86平台qt库qt-everywhere-opensource-src-4.8.5
本文记录PC(x86)下安装Linux/X11版Qt 开发环境.下载页面:http://qt-project.org/downloads ARM嵌入式版本qt库的编译安装详见<unbunt12. ...
- mac下使用opencv编译安装新模块contrib
opencv-4.0.1 opencv_contrib-4.0.1 提供ippicv下载链接: https://pan.baidu.com/s/1OIJRUqPqAtpMetku8qX36w cont ...
- 【视频开发】【计算机视觉】doppia编译之三:编译安装opencv库
这里我介绍2种方法 (1)利用别人写好的脚本编译,相对来说省力一点 上Github下载别人写好的脚本文件,网址 https://github.com/jayrambhia/Install-OpenC ...
- Linux 下编译、安装、配置 QT
转自Linux 下编译.安装.配置 QT 注意:编译安装耗时费力,且很容易出错,要不断调整编译参数,不推荐使用,否则这将会是一个纠结痛苦的过程. 打算做嵌入式图像处理,计划方案嵌入式Linux+Ope ...
- OpenCV编译以及QT Creator配置
OpenCV编译以及QT Creator配置 在进行编译前,需下载以下工具和源码: CMake ---- 用于编译: 下载地址; https://cmake.org/ 安装在D:\Program Fi ...
- OpenCV使用CMake和MinGW的编译安装
官方教程:https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows 软件环境: Qt:5.11 CMake-3.14.4 OpenCV-4.1. ...
- qt+opencv编译环境的配置
第一步:安装与配置Qt 从https://account.qt.io/downloads下载Qt,并注册账户.开始安装.首先下载qt-opensource-windows-x86-mingw482_o ...
- Qt编译安装qwt错误moc/xxx Error:126
最近搞设计,需要在上位机上绘制曲线,在网上找了找,发现python的matplotlib和Qt的qwt都不错,本着难度最小原则,选择了Qt下面的qwt,安装过程中遇到了编译错误:moc/xxx Err ...
- Ubuntu 编译安装 OpenCV 3.1
目标系统:Ubuntu 16.04-64bit OpenCV 版本:opencv-3.1.0 安装步骤 安装 cmake.sudo apt-get isntall cmake cmake-qt-gui ...
- linux源码编译安装OpenCV
为了尽可能保证OpenCV的特性,使用OpenCV源码编译安装在linux上.先从安装其依赖项开始,以ubuntu 14.04.X为例讲解在Linux上源码编译安装OpenCV,其他linux版本可以 ...
随机推荐
- Spring-Cloud 组件之 Spring Cloud Eureka:服务注册与发现
Spring Cloud Eureka:服务注册与发现 SpringCloud学习教程 SpringCloud Spring Cloud Eureka是Spring Cloud Netflix 子项目 ...
- 推荐一个计算Grad-CAM的Python库
前言 类激活图CAM(class activation mapping)用于可视化深度学习模型的感兴趣区域,增加了神经网络的可解释性.现在常用Grad-CAM可视化,Grad-CAM基于梯度计算激活图 ...
- 分类算法(Classification Algorithm)需求记录
[toc] 比如说,在WEB扫描器场景中.一个扫描器在扫描过程中,它可以自动识别接口类型并采用相应分类规则进行漏洞检测的算法,这种通常属于一种称为"智能扫描"(Intelligen ...
- 力扣209(java&python)-长度最小的子数组(中等)
题目: 给定一个含有 n 个正整数的数组和一个正整数 target . 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, ...
- 力扣172(java)-阶乘后的零(中等)
题目: 给定一个整数 n ,返回 n! 结果中尾随零的数量. 提示 n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1 示例 1: 输入:n = 3输出:0解释: ...
- HarmonyOS NEXT应用开发案例——滑动页面信息隐藏与组件位移效果
介绍 在很多应用中,向上滑动"我的"页面,页面顶部会有如下变化效果:一部分信息逐渐隐藏,另一部分信息逐渐显示,同时一些组件会进行缩放或者位置移动.向下滑动时则相反. 效果图预览 使 ...
- Go Mysql Driver 集成 Seata-Golang 解决分布式事务问题
简介: 2020 年 4 月,我们开始尝试实现 go 语言的分布式事务框架 Seata-Golang.众所周知,Seata AT 模式以无业务代码侵入的特点,被广大开发者推崇.Java 版 Seata ...
- JVM性能提升50%,聊一聊背后的秘密武器Alibaba Dragonwell
简介: 你要知道的关于Alibaba Dragonwell一些重要优化措施. 今年四月五日,阿里云开放了新一代ECS实例的邀测[1],Alibaba Dragonwell也在新ECS上进行了极致 ...
- IoT Studio可视化搭建平台编辑历史功能的思考与探索
简介: 在前端可视化搭建领域中"重做"和"撤销"这两个功能已经是标配中的标配,毕竟只要有用户行为的地方就可能会有出错,这两个功能无疑就是为用户提供了" ...
- dotnet CBB 为什么决定推送 Tag 才能打包
通过推送 Tag 才打 NuGet 包的方法的作用不仅仅是让打包方便,让打包这个动作可以完全在本地执行,无需关注其他系统的使用步骤.更重要的是可以强制每个可能被安装的 NuGet 包版本都能有一个和他 ...