【OpenCV人脸识别入门教程之三】CMake编译OpenCV源码
来源:互联网 发布:程序员工具箱 编辑:程序博客网 时间:2024/04/29 14:38
本文主要内容包括CMake的简介、使用CMake工具在Winsdows系统下编译OpenCV工程以及源码赏析。得到源代码工程后,即可自行修改,并编译后为自己所用。
系统:Windows7;CMake版本3.3.2;OpenCV版本:2.4.10.
一、CMake编译工具
CMake是一个跨平台的编译工具,可以用简单的语句来描述所有平台的编译过程。它能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。“CMake”是“cross platform make”的缩写,是个非常有用的工具,在使用OpenCV等开源工具时,在目录里随处可见CMakeLists.txt文件,其即是CMake的构建工程环境的重要文件。了解和使用CMake,对使用开源工具包是非常有帮助的。这里不讲如何编写CMakeLists.txt文件来构建编译环境,感兴趣的童鞋,请点:http://www.cnblogs.com/lidabo/category/613088.html
CMake官网下载地址:https://cmake.org/download/,最新版本已更新到3.4.0。在下载页面中,在Source disrtibutions处可以下载CMake的源码:
在Binary distributions处可以下载其执行文件,这里我们选择Windows(Win32 Installer)下载,如下图:
点击其后对应的链接进行下载,并安装。安装完成后,在菜单中找到CMake,点击运行,图形界面如下:
二、使用CMake编译OpenCV
1、运行CMake
在菜单栏中找到CMake点击运行,如上图所示。
2、设置OpenCV源码路径
点击下图红色方框中的按钮“Browse Source”,在弹出的窗口中选择自己电脑上OpenCV源码的存放路径,即OpenCV目录下的sources文件目录,细心的同学可以发现,在OpenCV源码的存储路径下,有一个CMakeLists.txt文件,即是CMake的编译环境配置文件,通过不同的编译器(如VS),CMake即可生成对应的解决方案工程文件。
3、指定生成OpenCV工程存放路径
如下图所示,点击红色方框中的按钮“Browse Build”,指定生成的OpenCV工程的存放位置,根据自己的需要指定路径:
4、Configure源代码
点击下图中红色方框里的按钮“Configure”:
将弹出下图所示的窗口,红色方框内的内容即需要根据自己的VS版本和编译器平台来选择合适的编译器:
注意:上图中的下拉菜单中,即让我们选择VS的版本和编译器平台。博主电脑上安装的是VS2012(Visual Studio 11),所以选择Visual Studio 11 2012。可以看到相同的版本下有三个不同的编译平台,空白代表Win32,ARM代表ARM平台,Win64代表64位平台,根据自己的需要进行选择。这里我们选择Win32平台进行编译。
选择好编译器版本和平台后,点击右下方“Finish”按钮开始配置。
完成后,会出现下图中红色方框内的提示语句,“Configuring done”:
、
但是,界面的上方出现了红色警告提示:
注意看下图中蓝色方框里的提示:"Press Configure to update and display new values in red, then press Generate to generate selected build files.",原来是让 我们再点击一次Configure来更新红色色块中的值,然后点击Generate即可生成我们需要的解决方案工程文件。
再次点击Configure按钮:
再一次出现“Configuring done”提示语句,可以发现,之前的红色提醒,已经消失,配置完成。
5、生成OpenCV解决方案工程
最后,只需要最后一步,点击生成按钮即可生成最终的OpenCV解决方案工程,如下图中点击“Generate”按钮:
看到下图中的“Generating done”,即大功告成:
打开指定的解决方案生成的路径,可以看到生成成功的解决方案:
三、重新编译OpenCV工程
让我们怀着激动的心情打开OpenCV解决方案,哇,可以看到解决方案共包含了69个项目:
好啦 ,下面让我们马不停蹄的来编译解决方案吧,由于解决方案项目很多,需要静静等待几分钟后,,,,,
编译完成后,可以在工程目录的“./bin/Debug”文件夹里找到编译生成的链接库:
最后插一句,生成的解决方案里的头文件和源代码都是OpenCV里sources里的文件,如进行修改,sources里的文件也将被修改。
四、OpenCV人脸识别源码
下面,让我们来找到OpenCV中实现人脸识别的代码,如下图操作,打开"facerec.cpp"文件,即可看到源代码:
如下图即是Eigenfaces、Fisherfaces和LBPH人脸识别的源代码,展开函数即可看到源代码:
Eigenfaces人脸识别函数:
Fisherfaces人脸识别函数:
LBPH人脸识别主要函数:
通过阅读源代码,可以更好的开发人脸识别程序,好啦,本文结束,附博主在大理拍的照片一张:):
- 【OpenCV人脸识别入门教程之三】CMake编译OpenCV源码
- Cmake编译OpenCV源码
- CMake生成OpenCV解决方案&&编译OpenCV源码
- 【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
- 【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
- 【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
- 【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
- 【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
- 【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
- 【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
- 【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
- 【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
- 【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
- 【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
- 【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
- 【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
- 【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
- 【OpenCV人脸识别入门教程之二】人脸检测
- ACM ICPC Vietnam National Second Round D X = X + X % 100
- TC第一波:2015/11/3
- MeanShift算法C++解析(五)
- Leetcode || Letter Combinations of a Phone Number
- 云计算简介
- 【OpenCV人脸识别入门教程之三】CMake编译OpenCV源码
- DBCP连接池
- Hibernate一级缓存详解
- 巴氏距离实例
- 最简单的代码实现小球式弹出菜单
- matlab中double、im2double、mat2gray区别
- nyoj104 最大和
- C语言知识总结(二)基本数据类型与运算
- 欢迎使用CSDN-markdown编辑器