学习OpenCV4:OpenCV-4.1.0+VS2017 编译(包含扩展)

2024-02-06 03:08

本文主要是介绍学习OpenCV4:OpenCV-4.1.0+VS2017 编译(包含扩展),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

OpenCV 4.0 版本增加的新功能如下:

1) 更新代码支持 c++11 特性,需要兼容 c++11 语法的编译器

2)增加 dnn 中的模块功能,新加了 Vulkan API 程序接口

3)集成了完整的 QR 码识别功能

4) 新加的 opencv_gapi 模块

5) 整体速度的提升

6) 增加流行的 Kinect 融合算法

7)  DIS 稠密光流检测算法从 opencv_contrib 模块移到 opencv video 模块

如何编译出自己运行需要的库(包含.h、.dll、.lib等文件)?

一、相关文件的下载

下载Visual Studio 2017。

下载“opencv-4.1.0-vc14_vc15.exe”、“opencv_contrib-4.1.0.tar.gz”。

下载CMaker。

其中,

 

opencv:运行“opencv-4.1.0-vc14_vc15.exe”生成;

opencv_contrib-4.1.0:解压“opencv_contrib-4.1.0.tar.gz”生成;

opencv_newbuild:配置CMaker后生成的解决方案,编译该方案即可得到对应的库,这里以VS2017的Win32为例;

二、CMaker生成VS解决方案

选择对应的文件夹及生成环境(Visual Studio 15 2017),点击Configure,第一次配置,会显示一些红色的错误。

之后开始一些配置:

1、包含contrib中的模块;

2、将所有dll、lib包含到一个里面,这里也可以不勾选;

重新点击Configure,直到列表中没有红色之后,点击Generate,完成。

三、VS工程编译

1、进入CMaker设置的vs工程路径,找到OpenCV.sln,打开;

2、在解决方案下的CMakeTargets目录下,找到ALL_BUILD,右键,生成;

3、另外,相关源代码在Model的opencv_world下面,需要查看源码的可以在该目录下找;

四、环境变量设置

新建变量及值(路径),保存后重启电脑。

五、应用程序环境关联

在VS2017中新建工程,在工程属性中的“附加包含目录”添加“$(OPENCV4_PATH)”、“附加库目录”添加“$(OPENCV4_LIB)”,将头文件(.h)与运行库(.dll)链接到库文件。

至于(.lib),在源代码中通过“#pragma comment(lib,"opencv_world410d.lib")”加载。

这篇关于学习OpenCV4:OpenCV-4.1.0+VS2017 编译(包含扩展)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/682971

相关文章

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

OpenCV在Java中的完整集成指南分享

《OpenCV在Java中的完整集成指南分享》本文详解了在Java中集成OpenCV的方法,涵盖jar包导入、dll配置、JNI路径设置及跨平台兼容性处理,提供了图像处理、特征检测、实时视频分析等应用... 目录1. OpenCV简介与应用领域1.1 OpenCV的诞生与发展1.2 OpenCV的应用领域2

在Java中使用OpenCV实践

《在Java中使用OpenCV实践》用户分享了在Java项目中集成OpenCV4.10.0的实践经验,涵盖库简介、Windows安装、依赖配置及灰度图测试,强调其在图像处理领域的多功能性,并计划后续探... 目录前言一 、OpenCV1.简介2.下载与安装3.目录说明二、在Java项目中使用三 、测试1.测

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

Python如何将OpenCV摄像头视频流通过浏览器播放

《Python如何将OpenCV摄像头视频流通过浏览器播放》:本文主要介绍Python如何将OpenCV摄像头视频流通过浏览器播放的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完... 目录方法1:使用Flask + MJPEG流实现代码使用方法优点缺点方法2:使用WebSocket传输视