网站首页 > 编程文章 正文
OpenCV官网提供的编译好的OpenCV发行版,缺少了很多重要的功能,特别是缺少opencv_contrib库,也缺少一些性能选项。为了使用opencv_contrib库里提供的众多功能,同时得到性能更高的OpenCV库,也为了对OpenCV进行精简和定制,都需要自己动手对OpenCV进行编译。这里以Windows 10环境下,使用Visual Studio 2017在x64平台下编译OpenCV4.2.0为例来加以说明。
步骤1:安装CMake工具和doxygen工具
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。CMake 并不直接建构出最终的软件,而是产生标准的工程文件(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects或workspaces),然后再按一般的build方式生成最终文件。OpenCV源码支持CMake编译脚本,以方便在不同的平台上(Windows, Linux, Mac OS, Android)可以按相同步骤进行编译,因此这里需要安装CMake工具以生成visual C++的工程文件。在
https://cmake.org/download/中选择Windows 10下CMake的安装包
cmake-3.12.0-win64-x64.msi,下载后进行安装。
Doxygen可以用来生成OpenCV的文档,在编译阶段,需要doxygen的支持,可以在
http://www.stack.nl/~dimitri/doxygen/download.html中下载doxygen下载doxygen最新版并安装。如果不希望在编译时生成OpenCV的文档,则不需要安装Doxygen软件。
步骤2:下载OpenCV源码和Opencv_Contrib源码
OpenCV3.X版本之后,将OpenCV将代码库分成了分别是稳定的核心功能库和实验性质的contrib库,这两个部分需要分别下载。
在OpenCV主页上找到OpenCV4.2.0的github源码链
https://github.com/opencv/opencv/releases/tag/4.2.0,从源码主页上选择相应的source.zip进行下载。按相同步骤,在
https://github.com/opencv/opencv_contrib/releases/tag/4.2.0下载opencv_contrib源码。将两个源码解压缩后放同一个文件夹中,供后面编译使用。
步骤3.生成OpenCV工程解决方案
打开CMake工具并填写相应路径参数,CMake会让选择编译工具,这里选择Visual studio 2017 win64,用来生成64位的OpenCV运行库。
设置好源文件目录和目标目录之后,CMake自动读取文件中相关编译选项,如上图所示。用户根据要求,选择对应的编译选项,然后选择配置按钮,CMake即开始配置OpenCV工程项目。在配置OpenCV编译工程时,CMake会根据编译选项的需求从网上下载一些文件,并存放在downlods目录中,这些文件需要手工拷贝或剪切到源文件目录中的相应位置中。有时候会因为网络的原因而导致下载失败,则在输出窗口中会以红色字体提示;如果反复下载多次都提示失败,则需要借助于搜索引擎,手工从网上下载并放置在源文件目录中的相应位置。
生成编译文件时,对编译选项的正确设置很重要,不同的编译选项对OpenCV的运行性能有很大的影响。OpenCV的编译选项将后续详细进行说明。
对默认的CMake选项做一些修改,设置BUILD_DOCS为TRUE,生成OpenCV文档;设置BUILD_SHARED_LIBS为FALSE,生成OpenCV静态库;设置BUILD_opencv_world为TRUE,对生成的lib库进行打包。在OPENCV_EXTRA_MODULES_PATH选项中输入OpenCV_Contrib的源码路径,然后点击Generate按,就可以生成得到OpenCV4.2.0的解决方案文件(sln文件),如下图所示。
步骤4.打开OpenCV工程进行编译
使用Visual Studio2017打开OpenCV.sln工程,如下图所示。可以看到整个解决方案里的工程项目很多,完整编译需要很长时间,可以选择只编译Opencv_world项目。编译生成Debug和Release库。
编译生成的文件放在build/lib/debug(debug版)和build/lib/release(release版)下面。可以拷贝到工程中直接使用。
- 上一篇: 怎样才最有可能被南卫理公会大学录取?
- 下一篇: 使用OpenCV进行对象检测(opencv图像检测)
猜你喜欢
- 2025-03-26 使用OpenCV进行对象检测(opencv图像检测)
你 发表评论:
欢迎- 最近发表
-
- 90岁老人科目三一把过火爆网络!考驾照、爱美甲……这群“90后”比年轻人潮
- DNF:遗忘之地任务流程,适用于新手起小号,装备修理白漂
- dnf手游:“首款流拍宝珠”,6位玩家眼睁睁看着500万泰拉丢失!
- dnf手游:小熊卡正式升级!可附魔到工会勋章,千万别卖!
- dnf手游:首张“涨抗魔”粉卡火了!以前3万没人要现在准备断货!
- dnf手游:团本币增加!3月26号打团有坑提前避开,浪费门票?
- dnf手游:涨价20倍!曾经没人要的,如今已是妥妥的T0材料!
- dnf手游:“官方鼓励回归”火了,白送玩家+20装备和王子卡等!
- dnf手游:无根之源千万别用!竞拍系统一定要抢否则错过崛起机会
- dnf手游:DNF手游各职业技能加点攻略、装备推荐!小白一看就会
- 标签列表
-
- spire.doc (70)
- instanceclient (62)
- solidworks (78)
- system.data.oracleclient (61)
- 按键小精灵源码提取 (66)
- pyqt5designer教程 (65)
- 联想刷bios工具 (66)
- c#源码 (64)
- graphics.h头文件 (62)
- mysqldump下载 (66)
- libmp3lame (60)
- maven3.3.9 (63)
- 二调符号库 (57)
- git.exe下载 (68)
- diskgenius_winpe (72)
- pythoncrc16 (57)
- solidworks宏文件下载 (59)
- qt帮助文档中文版 (73)
- satacontroller (66)
- hgcad (64)
- bootimg.exe (69)
- android-gif-drawable (62)
- axure9元件库免费下载 (57)
- libmysqlclient.so.18 (58)
- springbootdemo (64)
本文暂时没有评论,来添加一个吧(●'◡'●)