【OpenCV3.3】编译源码并搭建VS2017+Windows开发环境

2023-10-17 15:32

本文主要是介绍【OpenCV3.3】编译源码并搭建VS2017+Windows开发环境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

         OpenCV 3.3在8月3号正式Release,带来了许多优化改进和新特性,包括备受关注的深度神经网络(DNN)模块被正式引入主仓库,标志着OpenCV对DNN有了更深层次的优化与支持; 支持通过宏ENABLE_CXX11启用对C++ 11特性的支持;默认包含大量SSE4.X和AVX/AVX2指令集优化;内置Intel IPP版本升级至2017.2,官方测试显示有近15%的性能提升...等等,更多细节可以参考 http://opencv.org/opencv-3-3.html,另外如果你现有代码基于OpenCV 3.x的话,建议进行版本升级~

        编译OpenCV的源码并不复杂,或者说十分简单(相对于部分老项目而言),并且对Visual Studio的支持也很友好,但首次编译的话对整个流程以及过程中一些开关可能会存在一些疑问。如果你不想自行编译也可以使用官方预编译好的文件,但是有些模块可能是用不到的,所以我们还是希望能尽可能自定义模块。

        本文假设读者已经安装了 CMake 和 Python (2.x或3.x)

     一、准备资源

  1. opencv-3.3.0-vc14.exe,建议使用sourceforge下载,因为相比github这玩意有直链并且有不同镜像可选,可以直接使用第三方下载器下载,速度比较快。

     二、准备源码

         直接运行下载好的exe,选择解压到的目录,并提取sources文件夹,目录结构大概如下:


     三、生成项目

         打开CMake GUI,设定好目录选择Configure,然后选好IDE(Visual Studio 2017 WIN64)并Finish,等待初始配置完成(生成cvconfig.h)...


         正常情况下直到Configuring done是不会发生错误的,然后上面配置项是红色的,提示有些东西需要人工改动,基本步骤就是查看输出,如果发现有外部库找不到,比如"A library with XXX API not found"或者"Could NOT find XXX (missing XXX)"之类的,根据需求把相应的库的路径加上,或者不需要的话直接去掉相关依赖的编译,还可以做到0 warnings多好的事情~

         这里大概有几个提示:

  1. 首先因为我们是当成库使用,不会去调试OpenCV本身,所以把和最后开发无关的开关关掉,比如BUILD_DOCS,BUILD_EXAMPLES,BUILD_XXX_TESTS,BUILD_opencv_ts(一些单元测试代码),BUILD_PACKAGE (CPACK_BINARY_XXX,CPACK_SOURCE_XXX),INSTALL_XXX
  2. 前面说了C++ 11特性支持&#x

这篇关于【OpenCV3.3】编译源码并搭建VS2017+Windows开发环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

一文教你如何解决Python开发总是import出错的问题

《一文教你如何解决Python开发总是import出错的问题》经常朋友碰到Python开发的过程中import包报错的问题,所以本文将和大家介绍一下可编辑安装(EditableInstall)模式,可... 目录摘要1. 可编辑安装(Editable Install)模式到底在解决什么问题?2. 原理3.

Python+Tkinter实现Windows Hosts文件编辑管理工具

《Python+Tkinter实现WindowsHosts文件编辑管理工具》在日常开发和网络调试或科学上网场景中,Hosts文件修改是每个开发者都绕不开的必修课,本文将完整解析一个基于Python... 目录一、前言:为什么我们需要专业的Hosts管理工具二、工具核心功能全景图2.1 基础功能模块2.2 进

Python+PyQt5开发一个Windows电脑启动项管理神器

《Python+PyQt5开发一个Windows电脑启动项管理神器》:本文主要介绍如何使用PyQt5开发一款颜值与功能并存的Windows启动项管理工具,不仅能查看/删除现有启动项,还能智能添加新... 目录开篇:为什么我们需要启动项管理工具功能全景图核心技术解析1. Windows注册表操作2. 启动文件

Gradle下如何搭建SpringCloud分布式环境

《Gradle下如何搭建SpringCloud分布式环境》:本文主要介绍Gradle下如何搭建SpringCloud分布式环境问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Gradle下搭建SpringCloud分布式环境1.idea配置好gradle2.创建一个空的gr

Linux搭建单机MySQL8.0.26版本的操作方法

《Linux搭建单机MySQL8.0.26版本的操作方法》:本文主要介绍Linux搭建单机MySQL8.0.26版本的操作方法,本文通过图文并茂的形式给大家讲解的非常详细,感兴趣的朋友一起看看吧... 目录概述环境信息数据库服务安装步骤下载前置依赖服务下载方式一:进入官网下载,并上传到宿主机中,适合离线环境

使用Python开发Markdown兼容公式格式转换工具

《使用Python开发Markdown兼容公式格式转换工具》在技术写作中我们经常遇到公式格式问题,例如MathML无法显示,LaTeX格式错乱等,所以本文我们将使用Python开发Markdown兼容... 目录一、工具背景二、环境配置(Windows 10/11)1. 创建conda环境2. 获取XSLT

Android实现一键录屏功能(附源码)

《Android实现一键录屏功能(附源码)》在Android5.0及以上版本,系统提供了MediaProjectionAPI,允许应用在用户授权下录制屏幕内容并输出到视频文件,所以本文将基于此实现一个... 目录一、项目介绍二、相关技术与原理三、系统权限与用户授权四、项目架构与流程五、环境配置与依赖六、完整

使用Python创建一个功能完整的Windows风格计算器程序

《使用Python创建一个功能完整的Windows风格计算器程序》:本文主要介绍如何使用Python和Tkinter创建一个功能完整的Windows风格计算器程序,包括基本运算、高级科学计算(如三... 目录python实现Windows系统计算器程序(含高级功能)1. 使用Tkinter实现基础计算器2.