为什么要使用CMake+VS编译OpenCV的源代码
多数情况下,能够直接使用OpenCV自带的库文件,可是假设是为了方便调试:
1. 方便调试opencv源代码
2. 为了与某些库兼容
还是须要又一次编译opencv的源代码。
OpenCV1.0版本号有windows,linux之分,在 \OpenCV\_make目录以下已经存在了一个opencv.dsw的project文件。直接用VC6,或者。Visual Studio就能够打开该project,从而能够进行对应的编译工作;而对于OpenCV2.0及以后的版本号而言,就没有类似的project文件了。这个时候,就须要你自己利用CMake工具来生成一个Visual Studio的project文件了。
CMake编译OpenCV
OpenCV的下载与安装
下载Windows下的安装文件OpenCV-2.4.3.exe,双击解压。选择须要的安装文件夹就可以。我的存放路径为D:\opencv。
解压完毕后就是须要的文件了。注意对应的文件夹不能包括中文。
编译OpenCV
这一步不是必须的,假设不编译,能够使用编译好的库,可是不能进行源码的跟踪调试(未验证),因此这里还是编译一下。
编译用的工具Cmake,这是一个跨平台的安装编译工具。主要用于把OpenCV的源代码生成相应的VSproject。操作例如以下。
1、如图所看到的。设置OpenCV的安装文件路径和想要生成的文件路径。
2、点击左下方configure,在弹出的选项中选择Visual Studio 10(相应2010版本号)。
3、点击完毕就会进行配置,配置后的界面例如以下图所看到的,选择须要增加的文件。我这里勾上BUILD_EXAMPLES其它选项默认。
4、改动完毕后再次点击configure进行配置。完毕后点击Generate,至此完毕配置。
使用VS2010编译版本号库
以上操作完毕后,就能够在生成的文件夹下找到相应的project文件,依据上图配置我的文件路径为D:\OpenCV24\OpenCV.sln,使用VS2010打开,进行例如以下操作。
1、在Debug下,选择解决方式(解决方式资源管理器)里的 解决方式“OpenCV”。点右键,执行"又一次生成解决方式"。
2、生成成功后。在选择INSTALL项目,右键执行生成;
3、在Release下进行1-2步的操作。
4、以上操作完毕后,针对当前的系统的OpenCV库就生成了。
VS的相关配置
也即告诉VC去什么地方寻找OpenCV的头文件和库。打开VC。选择菜单“工具”->“选项”->“项目和解决方式”->“VC++文件夹”->“包括文件”。在VS2010中此选项打开例如以下图所看到的,显示编辑功能被否决。
可以在详细的项目中右键->属性来设置,仅仅是这种设置无法被继承。每个项目都须要单独设置,因此须要丛一个可以被继承的全局设置,方法例如以下:
1、在VS中确保至少有一个project被打开的情况下,点击“视图”->“其它窗体”->“属性管理器”,然后从左側随意项目中打开“Debug| Win32”->“Microsoft.Cpp.Win32.user”,例如以下图所看到的。
2、在弹出例如以下图所看到的的窗体中,加入文件包括与库的路径。点击左側VC++文件夹,编辑右側的包括文件夹与库文件夹。分别加入相应的路径。
相应的路径例如以下:
包括文件夹
使用提供的库须要加入(相应我自己的安装文件夹。路径依据个人安装改动)
D:\opencv\build\include
D:\opencv\build\include\opencv
D:\opencv\build\include\opencv2
假设使用的是上文编译的库的路径,则加入(相应我自己的文件夹,路径依据个人安装改动)
D:\OpenCV24\install\include
D:\OpenCV24\install\include\opencv
D:\OpenCV24\install\include\opencv2
64为系统相应更改。
库文件夹
在OpenCV的安装文件里已经为VC2008和2010预先编译好了动态库与静态库,因此能够不须要编译直接加入。
针对VS2010加入(相应我自己的文件夹。路径依据个人安装改动)
D:\opencv\build\x86\vc10\lib
加入上文编译的库则加入(相应我自己的文件夹。路径依据个人安装改动)
D:\OpenCV24\install\lib
注:有的资料中说法例如以下:
(注:因为自己编译成功,lib文件在Debug和Release两个文件里,载入库时需到Debug和Release中, 我配置的库文件夹为:D:\Program Files\OpenCV2.3.1\opencv\build\my\install\lib\Debug,否则调试时无法进入Open CV代码中。 by:Jackyzzy 赵振阳)
可是我的文件夹下并没有相应的文件夹。反而在D:\OpenCV24\lib文件夹下有相应的Debug文件夹,文件经过对照也一致。因此这个地方到底加入什么地方的眼下还没有验证,已经验证的同学欢迎告知我。
到这里。配置完成,随意打开一个项目通过属性来查看,能够看到以上配置已经被继承。
环境变量设置
刚才设置的是动态库,因此还须要将OpenCV的dll文件所在的文件夹增加Path环境变量。dll文件文件夹例如以下:
自己编译的库
D:\OpenCV24\install\bin
使用提供的库(VS2010)
D:\opencv\build\x86\vc10\bin
有的资料中说因为有些函数须要使用TBB,因此须要把TBB相关也加入环境变量,可是我并没有在opencv\build\common\tbb这个路径中找到TBB文件件。在2.4.3版本号中经过查找此目录存在与opencv\build\common\tbb 路径下,因此这部分相同未验证。
至此。就完毕了OpenCV的安装与配置。
posted on 2017-07-04 21:15 wgwyanfs 阅读(10320) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架