openCV编译安装-MSCV-Windows10-Qt


1、准备工作

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的更多相关文章

  1. ubuntu12.04下编译安装x86平台qt库qt-everywhere-opensource-src-4.8.5

    本文记录PC(x86)下安装Linux/X11版Qt 开发环境.下载页面:http://qt-project.org/downloads ARM嵌入式版本qt库的编译安装详见<unbunt12. ...

  2. mac下使用opencv编译安装新模块contrib

    opencv-4.0.1 opencv_contrib-4.0.1 提供ippicv下载链接: https://pan.baidu.com/s/1OIJRUqPqAtpMetku8qX36w cont ...

  3. 【视频开发】【计算机视觉】doppia编译之三:编译安装opencv库

    这里我介绍2种方法 (1)利用别人写好的脚本编译,相对来说省力一点  上Github下载别人写好的脚本文件,网址 https://github.com/jayrambhia/Install-OpenC ...

  4. Linux 下编译、安装、配置 QT

    转自Linux 下编译.安装.配置 QT 注意:编译安装耗时费力,且很容易出错,要不断调整编译参数,不推荐使用,否则这将会是一个纠结痛苦的过程. 打算做嵌入式图像处理,计划方案嵌入式Linux+Ope ...

  5. OpenCV编译以及QT Creator配置

    OpenCV编译以及QT Creator配置 在进行编译前,需下载以下工具和源码: CMake ---- 用于编译: 下载地址; https://cmake.org/ 安装在D:\Program Fi ...

  6. 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. ...

  7. qt+opencv编译环境的配置

    第一步:安装与配置Qt 从https://account.qt.io/downloads下载Qt,并注册账户.开始安装.首先下载qt-opensource-windows-x86-mingw482_o ...

  8. Qt编译安装qwt错误moc/xxx Error:126

    最近搞设计,需要在上位机上绘制曲线,在网上找了找,发现python的matplotlib和Qt的qwt都不错,本着难度最小原则,选择了Qt下面的qwt,安装过程中遇到了编译错误:moc/xxx Err ...

  9. Ubuntu 编译安装 OpenCV 3.1

    目标系统:Ubuntu 16.04-64bit OpenCV 版本:opencv-3.1.0 安装步骤 安装 cmake.sudo apt-get isntall cmake cmake-qt-gui ...

  10. linux源码编译安装OpenCV

    为了尽可能保证OpenCV的特性,使用OpenCV源码编译安装在linux上.先从安装其依赖项开始,以ubuntu 14.04.X为例讲解在Linux上源码编译安装OpenCV,其他linux版本可以 ...

随机推荐

  1. Spring-Cloud 组件之 Spring Cloud Eureka:服务注册与发现

    Spring Cloud Eureka:服务注册与发现 SpringCloud学习教程 SpringCloud Spring Cloud Eureka是Spring Cloud Netflix 子项目 ...

  2. 推荐一个计算Grad-CAM的Python库

    前言 类激活图CAM(class activation mapping)用于可视化深度学习模型的感兴趣区域,增加了神经网络的可解释性.现在常用Grad-CAM可视化,Grad-CAM基于梯度计算激活图 ...

  3. 分类算法(Classification Algorithm)需求记录

    [toc] 比如说,在WEB扫描器场景中.一个扫描器在扫描过程中,它可以自动识别接口类型并采用相应分类规则进行漏洞检测的算法,这种通常属于一种称为"智能扫描"(Intelligen ...

  4. 力扣209(java&python)-长度最小的子数组(中等)

    题目: 给定一个含有 n 个正整数的数组和一个正整数 target . 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, ...

  5. 力扣172(java)-阶乘后的零(中等)

    题目: 给定一个整数 n ,返回 n! 结果中尾随零的数量. 提示 n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1 示例 1: 输入:n = 3输出:0解释: ...

  6. HarmonyOS NEXT应用开发案例——滑动页面信息隐藏与组件位移效果

    介绍 在很多应用中,向上滑动"我的"页面,页面顶部会有如下变化效果:一部分信息逐渐隐藏,另一部分信息逐渐显示,同时一些组件会进行缩放或者位置移动.向下滑动时则相反. 效果图预览 使 ...

  7. Go Mysql Driver 集成 Seata-Golang 解决分布式事务问题

    简介: 2020 年 4 月,我们开始尝试实现 go 语言的分布式事务框架 Seata-Golang.众所周知,Seata AT 模式以无业务代码侵入的特点,被广大开发者推崇.Java 版 Seata ...

  8. JVM性能提升50%,聊一聊背后的秘密武器Alibaba Dragonwell

    ​简介: 你要知道的关于Alibaba Dragonwell一些重要优化措施. ​ 今年四月五日,阿里云开放了新一代ECS实例的邀测[1],Alibaba Dragonwell也在新ECS上进行了极致 ...

  9. IoT Studio可视化搭建平台编辑历史功能的思考与探索

    ​简介: 在前端可视化搭建领域中"重做"和"撤销"这两个功能已经是标配中的标配,毕竟只要有用户行为的地方就可能会有出错,这两个功能无疑就是为用户提供了" ...

  10. dotnet CBB 为什么决定推送 Tag 才能打包

    通过推送 Tag 才打 NuGet 包的方法的作用不仅仅是让打包方便,让打包这个动作可以完全在本地执行,无需关注其他系统的使用步骤.更重要的是可以强制每个可能被安装的 NuGet 包版本都能有一个和他 ...