OpenCV下载和安装(包含所有平台)
csdh11 2025-01-01 19:09 5 浏览
在 OpenCV 官方网站可以下载最新的且完整的源码以及大部分的 release 版本源码。
安装
现在,OpenCV 使用 Git 作为版本管理工具,使用 Cmake 来构建工程。
在早些时候,OpenCV 开发者使用 Subversion 作为版本管理工具以及 automake 来构建工程项。当然,这些日子都一去不复返了。
在许多情况下,你不必担心构建问题,因为许多环境中都有预编译好的库。但是,一旦成为更加专业的使用者,势必需要重新编译库,并且根据具体的应用程序定制特定的选项。
在 Windows 系统下安装 OpenCV
可以通过这个链接下载一个 EXE 文件,该文件会把预编译好的 OpenCV 解压到你的电脑上,预编译版本支持不同版本的 Visual Studio 环境。现在,你很快就可以开始使用 OpenCV了。
注意:尽管 Windows 环境拥有预编译的 release 版本的库,但是它并不包含 debug 版本的库。所以,在开发 OpenCV 之前,需要打开解决方案并且自行编译那些库。
另一个额外的细节是,需要再添加一个名为OPENCV_DIR的环境变量来告诉编译器在哪里找到 OpenCV 的二进制文件。可以通过命令行工具(cmd)对此进行设置。
setx -m OPENCV_DIR D:\OpenCV\Build\x64\vc10
如果希望静态链接 OpenCV,就只需要做到这一步。如果希望使用 OpenCV 的动态链接库(DLL),就需要告诉系统在哪里找到它的二进制库。为了完成这一目标,只需要在库路径中添加 %OPENCV_DIR%\bin。
以 Windows 10 为例,具体操作步骤是:右击计算机图标,选择“属性”,然后单击“高级系统设置”,最后选择“环境变量”,把 OpenCV 二进制文件的路径%OPENCV_DIR%\bin添加到 path 变量中。
OpenCV3 集成了 IPP,所以如果使用最新的 x86 或者 x64 CPU,就可以获得或多或少的性能优势。
从源代码编译 OpenCV
也可以按照如下操作从源码编译 OpenCV,具体步骤是:
1、运行 CMake GUI。
2、指定 OpenCV 源码所在路径以及构建目标文件夹(必须和源码所在路径不同)。
3、按两次 Configure 键(选择可以使用的 Visual Studio 编译器或者 MinGW 构建文件,如果正在使用 MinGW 的话),直到所有条目没有红色警示。
4、使用 Visual Studio 打开生成的解决方案并构建。如果使用的是 MinGW,则按照 Linux 的安装指导进行。
Linux 系统下安装 OpenCV
由于 GCC 和 GLIBC 在不同 Linux 版本(SuSE、Debian、Ubuntu 等等)下拥有不同的版本,所以 OpenCV 的 Linux 的预编译版本不包含 Linux 的版本号。
然而,在很多情况下,你的 Linux 版本会提供 OpenCV。如果你的版本不提供 OpenCV,你将不得不从源代码中构建,与 Windows 安装一样,可以从官网下载源代码,但是在这种情况下,该链接会把你转向 SourceForge,在这里可以为当前的 OpenCV 源代码选择压缩文件。
为了编译这个库和示例程序,你需要准备很多库或者工具,其中包括:
? GTK+ 2.x 或者更高的版本;
? GCC 编译器;
? cmake 构建工具;
? libtbb(英特尔线程构建模块);
? 还有一些可选项目,例如 zlib、libpng、libjpeg、libtiff 和 libjasper 的开发者版本(例如模块名称后带有-dev的版本);
? 你也需要用到 Python 2.6 或者更高的版本(开发者包)以及 NumPy 使 OpenCV 可以在 Python 环境下工作;
? 此外,还需要来自 ffmpeg 的 libavcodec 以及其他的 libav* 库(包含头文件)。
对于后者,请安装 Linux 发行版本所提供的 libav/ffmpeg 包。ffmpeg 库拥有较低的通用公开(LGPL)许可证,但是它的一些组件拥有更严格的通用公开许可证(GPL)。为了结合使用非 GPL 的软件,你需要构建并且使用一个共享的 ffmpeg 库:
gt; ./configure --enable-shared
gt; make
gt; sudo make install
当动态链接一个 LGPL 的库时,不需要为自己的代码使用 GPL 许可证。最终得到:
? /usr/local/lib/libavcodec.so.*
? /usr/local/lib/libavformat.so.*
? /usr/local/lib/libavutil.so.*
? 以及在 /usr/local/include/libav* 路径下的头文件
为了编译这个库,需要解压 tar.gz 文件并且切换到解压过程创建的源码文件夹中,然后进行如下操作:
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install # optional
对指令的说明:
1) 第一个命令和第二个命令将创建名为 release 的子目录并且切换到 release 中。
2) 第三个命令告诉 cmak 工具如何设置你的工程。我们提供的例子可能是让你入门的正确方法,但是其他选项允许你启用更多的设置,例如:
? 确定哪些例子需要被构建;
? 添加对 Python 的支持;
? 添加 CUDA GPU 的支持。
默认情况下,OpenCV 的 cmak 配置脚本会尝试查找和使用尽可能多的第三方库,例如如果它探测到 CUDA SDK 的存在,就会自动支持 GPU 加速的 OpenCV 功能。
3) 最后两个指令将编译整个库并将其安装到正确的位置。注意,如果使用 CMake 来建工程,就没有必要安装 OpenCV,只需要指定生成的 OpenCVConfig.cmake 件的路径就可以了。在前面的例子中,文件将被安装在 /usr/local/share/OpenCV。
正如 Windows 的例子所示,Linux 建立的 OpenCV 将自动利用 IPP 进行加速(如果有安装的话)。从 OpenCV 3.0 版本开始,OpenCV 的 cmak 设置脚本将自动下载并且链接一个 IPP 的免费子库(IPPICV)。如果想要禁用 IPP 加速,请在执行 CMake 的时候加上 -D WITH_IPP=OFF 指令。
Mac系统下安装 OpenCV
在 Mac 上安装步骤和 Linux 上的安装步骤十分接近,不同的是,Mac 拥有自己的开发环境 Xcode,它包含大部分在 CMake 过程中需要的东西。
你不需要 GTK+、TBB、libjpeg,并且:
? 在默认情况下,Cocoa 会取代 GTK+;
? 在默认情况下,QTKit 会取代 ffmpeg;
? GDC 会取代 TBB 以及 OpenMP。
安装步骤和 Linux 下安装一致。需要添加-G Xcode 指令到 CMake 中来生成一个 Xcode 工程,从而可构建和 debug 工程。
从 Git 获取最新的 OpenCV
OpenCV 现在也处于积极的开发状态中,当 bug 报告中包含有准确的描述以及代码复现 bug 的时候,该 bug 通常会被迅速修复。
然而,官方的 OpenCV 通常每年只发布一次到两次,如果你正在开发一个项目或产品,可能想要 OpenCV 能够尽快修复 bug 并更新。为了完成这些目的,需要在 GitHub 网站上访问 OpenCV 的 Git 仓库。
本节并不打算引导你如何使用 Git,如果你还在使用另外的一些开源项目,也许对这套操作已经很熟悉了。
Git 的命令行工具有 Linux、Mac OS X 以及大部分的类 UNIX 系统所支持。针对 Windows,我们推荐 TortoiseGit(https://tortoisegit.org/);针对 Mac OS X,SourceTree 也许适合。
在 Windows 上,如果想要从 Git 获得 OpenCV 最新的版本,你需要访问github。
在 Linux 上,只需要输入如下指令:
git clone https://github.com/opencv/opencv.git
不管你是转行也好,初学也罢,进阶也可,如果你想学编程,进阶程序员~
【值得关注】我!
- 上一篇:GPU 要下载哪个驱动?
- 下一篇:GPU卡驱动和CUDA安装教程
相关推荐
- UpdatePack7R2 24.3.13 补丁包(适合WIN7 2008)
-
UpdatePack7R224.3.13补丁包(适合WIN72008)UpdatePack7R2-这套工具允许您更新操作系统,并将更新集成到发行版中。可安装在任何版本的Windows7...
- 磁盘分区对齐详解与配置 - Windows篇
-
EMC中文支持论坛介绍许多系统管理员可能不曾听过”磁盘分区对齐“之说,甚至一些有经验的存储管理员对分区对齐也不甚了解。磁盘分区不对齐现象是什么,为什么会造成比较严重的性能下降?相反,配置正确的分区...
- 4月补丁星期二活动:Windows 7/8.1等系统获月度更新汇总
-
[闽南网]在本月的补丁星期二活动中,为多个尚处于支持状态的Windows10版本发布累积更新的同时,微软也为Windows7/8.1等系统发布了月度更新汇总。-Windows7SP1和Win...
- C#一行代码搞定OCR
-
本文将介绍如何使用C#代码来实现OCR功能。...
- TI AM3352/54/59 工业核心板硬件说明书
-
创龙科技SOM-TL335x-S是一款基于TISitara系列AM3352/AM3354/AM3359ARMCortex-A8高性能低功耗处理器设计的低成本工业级核心板,通过邮票孔连接方式引出千...
- Windows TCP/IP高危漏洞无需授权即可远程执行代码
-
2月10日,微软官方发布了一则漏洞安全通告,通告披露了WindowsTCP/IP组件存在远程命令执行漏洞,漏洞编号:CVE-2021-24074,CVE-2021-24094;以及拒绝服务漏洞,漏...
- 什么是TL084运放?TL0843引脚图及功能+TL084参数,带你轻松搞定
-
我是小七,干货满满。大家不要错过,建议收藏,错过就不一定找得到了,内容仅供参考,...
- Windows 与 Office 使用KMS密钥管理服务激活
-
前言本文收集于网络,整理存档以便后续使用.目录部署KMS服务器下载Windows与Office激活Windows与OfficeWindows与Office官方GVLK密钥Wi...
- 免费让你的win 7获得3年更新!让你的电脑系统重获新生
-
UpdatePack7R2(Win7更新补丁包)是由俄罗斯人Simplix制作的Windows7更新补丁安装包,Win7累积更新离线安装包,整合所有关键更新和安全更新及NVMe/USB3.0驱动...
- 高危漏洞预警!Windows远程桌面服务远程代码执行漏洞
-
漏洞背景5月14日,微软官方5月份发布了安全补丁更新,其中Windows远程桌面服务远程代码执行漏洞(CVE-2019-0708),影响范围广。本次漏洞的影响程度严重,微软也针对已经停止更新的wind...
- 微软将在2016年1月完全抛弃IE 8
-
8月8日消息,据国外媒体报道,微软昨日表示,将从2016年1月12日起停止支持旧版IE浏览器。据报道,微软给出了可以继续获得支持的操作系统与浏览器组合:WindowsVistaSP2+IE9、W...
- AMD平台B450主板安装WIN7教程
-
Windows10随着多年来的更新沉淀,已经成为主流的一个操作系统,软件兼容性、界面以及功能都已今非昔比,所以本教程主要是针对部分对WIN7有强需的用户,而普通用户或者游戏,建议选择Windows...
- 基于HTML5的微软远程桌面客户端预览版上线
-
[闽南网]-微软已经着手推进基于HTML5的远程桌面客户端,允许Windows用户通过自己偏好的网页浏览器来控制设备。这款网页工具最早于去年Ignite大会上宣布,而现在终于面向用户公测。-目前远...
- 域控超过墓碑生存周期处理
-
本文讨论如下情景的域控修复:当域控超过墓碑生存周期后,即其他域控认为此域控已脱离域后,应如何修复。...
- AutoCAD各版本对应的R版本参数值及图形的不同版本代号
-
有时候我们进行CAD平台的二次开发时需要知道AutoCAD2002或AutoCAD2014等版本对应的是R多少的问题,或者卸载软件需要注册表删除的时候,经常需要知道AutoCAD各版本对应的R版本参数...
- 一周热门
-
-
一文读懂关于MySQL Datetime字段允许插入0000-00-00无效日期
-
IDC机房服务器托管可提供的服务
-
新版腾讯QQ更新Windows 9.9.7、Mac 6.9.25、Linux 3.2.5版本
-
Serv-u 提权
-
一文看懂mysql时间函数now()、current_timestamp() 和sysdate()
-
详解PostgreSQL 如何获取当前日期时间
-
一款全能的看图软件,速度快、功能强、免费用
-
PhotoShop通道
-
Boston Dynamics Founder to Attend the 2024 T-EDGE Conference
-
流星蝴蝶剑:76邵氏精华版,强化了流星,消失了蝴蝶
-
- 最近发表
- 标签列表
-
- huaweiupdateextractor (27)
- thinkphp6下载 (25)
- mysql 时间索引 (31)
- mydisktest_v298 (34)
- sql 日期比较 (26)
- document.appendchild (35)
- 头像打包下载 (61)
- oppoa5专用解锁工具包 (23)
- acmecadconverter_8.52绿色版 (39)
- oracle timestamp比较大小 (28)
- word文档批量处理大师破解版 (36)
- server2016安装密钥 (33)
- mysql 昨天的日期 (37)
- 加密与解密第四版pdf (30)
- pcm文件下载 (23)
- jemeter官网 (31)
- parsevideo (33)
- 个人网站源码 (37)
- ckeditor4中文文档 (27)
- exe4j_java_home (30)
- centos7.4下载 (33)
- xlsx.full.min.js下载 (32)
- 深度学习 pdf (28)
- mysql 查询今天的数据 (34)
- intouch2014r2sp1永久授权 (36)