OpenCV下载和安装(包含所有平台)
csdh11 2025-01-01 19:09 26 浏览
在 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安装教程
相关推荐
- 知名软件变“木马”:2小时感染10万电脑
-
近日,腾讯电脑管家监测发现,一款通过“驱动人生”升级通道,并同时利用“永恒之蓝”高危漏洞传播的木马突然爆发,仅2个小时受攻击用户就高达10万。腾讯电脑管家可精准拦截该病毒攻击,管家团队也将持续跟踪该款...
- 腾讯电脑管家发布病毒预警:“驱动人生木马”爆发,2小时感染10万台电脑
-
新华网天津12月15日电(记者周润健)腾讯电脑管家15日紧急发布病毒预警,14日下午,腾讯电脑管家监测发现,一款通过“驱动人生”升级通道,并同时利用“永恒之蓝”高危漏洞传播的木马突然爆发,仅2个小时受...
- 全新“撒旦”勒索病毒来袭 瑞星推出独家解密工具
-
新华社北京7月26日电瑞星威胁情报平台近日发现多起国内用户感染“撒旦”勒索病毒事件。据瑞星安全研究人员介绍,该病毒运行后会加密受害者计算机文件,加密完成后会用中英韩三国语言索取1个比特币作为赎金,并...
- 新勒索病毒“WannaCry”疯狂来袭 乌克兰副总理电脑中招
-
据外媒报道,从6月27日开始,一种新勒索病毒再次疯狂来袭,已席卷欧洲多个国家,连乌克兰副总理的电脑都已中招。报道称,这轮病毒足以与五月席卷全球的勒索病毒“WannaCry”的攻击性相提并论。该病毒代号...
- 蠕虫病毒利用“永恒之蓝”漏洞传播 单位局域网受威胁最大
-
日前,火绒安全团队通过“火绒威胁情报系统”发现蠕虫病毒“Worm/Sharp”正在全网传播,其中在政府、企业、学校、医院等单位的局域网具有非常强的传播能力。该病毒通过“永恒之蓝”漏洞、多个电脑常用端口...
- 新病毒爆发:利用“永恒之蓝”传播,2小时感染10万台电脑挖矿
-
驱动人生发布的声明。据腾讯安全专家介绍,通过追溯病毒传播链发现,该病毒自12月14日约14点,利用“驱动人生”、“人生日历”等软件最早开始传播,另有约30%的传播通过“永恒之蓝”漏洞在局域网内进行主动...
- 逍遥安卓模拟器定制手游电脑版 手机电脑账号完全互通
-
从今年起大量回合制端游转向手游方向,无论是《梦幻西游》、《大话西游》、《神武》还是刚刚发行的《问道》手游,都是非常重度需要大量时间来做任务挂机升级的游戏。很多人习惯了端游的时候一个电脑可以多开的玩法,...
- 安卓模拟器绿色U盘移动版 公司玩游戏无痕迹
-
安卓模拟器已经不稀奇了!随着安卓手游的盛行,特别是《梦幻西游手游》之类的重度手游发布,玩手游花的时间也越来越多。用手机玩这些游戏存在着屏幕小、点量少、费流量还有容易被电话打断,在电脑上用安卓模拟器玩游...
- 苹果推出 iCloud 照片和视频转移服务:可转移至谷歌相册
-
IT之家3月4日消息据MacRumors今日报道,苹果公司本周推出了一项新服务,帮助iCloud用户方便快捷的将其存储的照片和视频转移到谷歌照片上。苹果在其支持文档中表示,用户可以登...
- NAS PK台,4核带m.2的威联通TS-264C vs 双核TS-462C
-
因为618年中大促看到威联通TS-264C和TS-462C这两机型售价差不多,就做个比较以供参考。毕竟作为自2007年以来就一直卖威联通的NAS老油来说,对威联通各NAS机型的识别还是相当全面的,对不...
- 前端学AI(七):构造 RAG 系统评估测试数据集
-
引言在基于DeepSeek+Chroma+LangChain开发一个简单RAG系统...
- 惨重教训!调查显示挪威“英斯塔”号宙斯盾舰撞油轮后本不必“丧命”
-
最新公布的调查报告显示,挪威皇家海军“英斯塔”号护卫舰2018年11月与油轮相撞后,如果其舰员接受了更好的损管训练,并且对舰艇的稳定特性更加熟悉的话,这艘宙斯盾型战舰本来是可以挽救的。↑挪威“英斯塔”...
- 「必买」盘点2021年男人们的败家清单,越“败”越香
-
心里总想买点啥?看看《必买》,全网最有料的场景种草指南。草原割不尽,春风吹又生。在过去的2021年,不断被各种数码产品种草,一直在买买买,剁手不停。大部分产品都经过详细的对比做足了功课,也有部分是一时...
- 实现浏览器播放rtsp视频流的解决方案
-
有同学问道:需要实时播放摄像头rtsp视频流,而浏览器不能直接播放,怎样解决?实现这个需求可以通过插件或者转码来实现。要实现这个目的,可以采用的方案非常得多,有商业的也有开源的,这里主要列举一些开源的...
- ISO9000你知道多少?
-
1ISO9000族标准是什么?ISO9000族标准是指由国际标准化质量管理和质量保证技术委员会(ISO/TC176)制订的所有国际标准。ISO9000族标准可帮助各种类型和规模的组织实施并有效运行质...
- 一周热门
- 最近发表
- 标签列表
-
- mydisktest_v298 (34)
- document.appendchild (35)
- 头像打包下载 (61)
- acmecadconverter_8.52绿色版 (39)
- word文档批量处理大师破解版 (36)
- server2016安装密钥 (33)
- mysql 昨天的日期 (37)
- parsevideo (33)
- 个人网站源码 (37)
- centos7.4下载 (33)
- mysql 查询今天的数据 (34)
- intouch2014r2sp1永久授权 (36)
- 先锋影音源资2019 (35)
- jdk1.8.0_191下载 (33)
- axure9注册码 (33)
- pts/1 (33)
- spire.pdf 破解版 (35)
- shiro jwt (35)
- sklearn中文手册pdf (35)
- itextsharp使用手册 (33)
- 凯立德2012夏季版懒人包 (34)
- 冒险岛代码查询器 (34)
- 128*128png图片 (34)
- jdk1.8.0_131下载 (34)
- dos 删除目录下所有子目录及文件 (36)