C++开发人脸性别识别总结
历时一个月,最终在昨天把《C++开发人脸性别识别总结》系列博客完毕了,第一篇博客发表在2015年12月29日,截止昨天2016年2月29日最后一篇完毕,去除中间一个月的寒假,正好一个月,首先这里把这系列博客的地址呈上:C++开发人脸性别识别教程。
在发牢骚之前首先强调几个重要问题:
(1)在程序中存在一个小的易触发的BUG。就是”初始化“button相应的事件触发函数OnBnClickedButtonInitial()中有一句这种代码:
在实际编程过程中常常须要对代码进行规范化,假设你习惯通过“ctrl+A”全选代码然后再使用“ctrl+K+F”快捷键这种方式来对代码进行批量规范化的话。那样你就须要十分注意了,由于经过批量规范化之后这段代码会变成这个样子:

非常明显这里VS默认在第二行字符串前面加了空格以完毕前后两行的对齐。而这也就破坏了字符串连接的规则。导致地址出错、分类器载入失败,因此在后面的编程过程中假设人脸检測器载入失败之类的错误。请先检查检查有没有发生上面所说的这个BUG。
(2)程序的准确性和稳定性。严格的说这个程序在算法方面没有做丝毫的改进,用的都是OpenCv已经封装好的、非常经典但也非常古老的人脸检測、人脸识别算法,假设你想学习C++环境下的MFC、OpenCv入门,欢迎阅读,但假设你希望了解最新的人脸检測人脸识别算法,知网和EI才是王道。
(3)对于这个小项目另一个须要完好的方面,那就是程序的打包与部署。
在程序设计之初本来打算将它最终封装成一个exe文件,和大家分享,但后来在学习VS+OpenCv的打包与部署过程中遇到了各种各样的问题。加之研究生课题方面的安排也越来越紧。因此这部分工作就暂且被搁置了。希望大家有时间的可以研究研究,毕竟要是可以将自己写的MFC小程序打包并部署在其它计算机上,还是一件蛮有成就感的事情。
OK。以上就是对这个前后近20篇博文的一个小小的总结。事实上这个程序是我在2014年8月份完毕的,当时我还在上大四。时隔一年半我才想起把这前后八百多行代码的小project总结总结放在网上,差点就让它烂在我的电脑里了。要是当时我就顺便把这个问题总结之后放到我的个人博客上的话,预计如今我的博客訪问量早就突破二十万了吧。嘿嘿,总之做事要赶前面,不能往后拖。出名要趁早,还有半年时间我就要找工作了,但愿到时候找工作顺利,算是2016年的新年愿望吧,好了,牢骚发到这里,忙别的去了。
C++开发人脸性别识别总结的更多相关文章
- C++开发人脸性别识别教程(12)——加入性别识别功能
经过之前几篇博客的解说,我们已经成功搭建了MFC应用框架,并实现了主要的图像显示和人脸检測程序,在这篇博文中我们要向当中加入性别识别代码. 关于性别识别,之前已经专门拿出两篇博客的篇幅来进行解说.这里 ...
- C++开发人脸性别识别教程(19)——界面美化
在这篇博文中将完毕<C++开发人脸性别识别>的收尾工作.主要内容分为两部分:加入视频暂定功能.界面规范化. 一 视频暂停功能 严格来说这个视频暂定功能算是视频人脸性别识别的一个遗留问题,本 ...
- C++开发人脸性别识别教程(10)——加入图片的人脸检測程序
现在我们的MFC框架已经初具规模,能够读取并显示目录下的图片.在这篇博文中我们将向当中加入人脸检測的程序. 一.人脸检測算法 这里我们使用OpenCv封装的Adaboost方法来进行人脸检測,參见:C ...
- C++开发人脸性别识别教程(16)——视频人脸性别识别
在之前的博文中我们已经可以顺利驱动摄像头来採集源图像.在这篇博文中将正式为其加入性别识别的代码,实现摄像头视频的人脸性别识别. 一.人脸检測 在得到摄像头採集的源图像之后,首先要做的就是对其进行人脸检 ...
- C++开发人脸性别识别教程(3)——OpenCv配置和ImageWatch插件介绍
OpenCv是C++图像处理的重要工具.这个人脸性别识别的项目就是借助OpenCv进行开发的. 尽管网上已经有了非常多关于OpenCv的配置教程,但出于教程完整性考虑.这里还是用专门的一篇博客来介绍O ...
- C++开发人脸性别识别教程(5)——通过FaceRecognizer类实现性别识别
在之前的博客中已经攻克了人脸检測的问题,我们计划在这篇博客中介绍人脸识别.性别识别方面的相关实现方法. 事实上性别识别和人脸识别本质上是相似的,由于这里仅仅是一个简单的MFC开发,主要工作并不在算法研 ...
- C++开发人脸性别识别教程(7)——搭建MFC框架之界面绘制
在之前的博客中我们已经将项目中用到的算法表述完成,包含人脸检測算法以及四种性别识别算法,在这篇博客中我们将着手搭建主要的MFC框架. 一.框架概况 在这篇博文中我们将搭建最主要的MFC框架.绘制MFC ...
- C++开发人脸性别识别教程(9)——搭建MFC框架之显示图片
在之前的博客中我们已经实现读取用户选定的目录.并将其路径保存在对应的变量中.在这篇博文中我们将介绍怎样借助CvvImage类将图片显示在picture控件中,并自己主动读取目录下的其它图片. 一.加入 ...
- C++开发人脸性别识别教程(6)——通过SVM实现性别识别
http://blog.csdn.net/u013088062/article/details/50480518
随机推荐
- ios TextField 不被键盘遮住
首先放一个scrollView窗口,将Scroll View视图占整个屏幕. 向Scroll View 添加TextField 控件. 首先,ViewController.h 代码如下; #i ...
- [转]linux之top命令
转自:http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316399.html 简介 top命令是Linux下常用的性能分析工具,能够实时显示系 ...
- debug时红点消失
问题描述:debug时红色断点和黄色小箭头不见,而用行代码高亮的形式时. 解决办法:可以用设置 工具 => 选项 => 文本编辑器 => 指示器边距 勾上选项
- Java&Xml教程(七)使用JDOM修改XML文件内容
JDOM提供了非常灵活的方式操作XML文件,使用JDOM非常简单而且代码简洁可读性强.前面我们学习了如何使用JDOM解析XML文件,本节介绍如何使用JDOM修改XML文件内容. 在这个教程中,我们准备 ...
- win32之bitmap篇
先讲一下LoadBitmap的用法,代码如下: PAINTSTRUCT ps; HDC hdc = BeginPaint(hwnd,&ps); HDC hMemDC = CreateCompa ...
- 影响ERP成功实施的因素及实施方法
一.影响ERP实施的因素 1.企业自身管理和认识上的问题.在ERP实施过程中没有用变革管理的理念和方法来策划和管理ERP的实施是导致ERP失败的主要原因. ERP作为一种管理工具他的实施本身就是操作手 ...
- Redis主从复制失败(master_link_status:down)
今天配置redis主从复制时出现master_link_status:down提示. 首先打开slave的redis.conf配置文件,确定slaveof 和masterauth 两个选项配置是否正确 ...
- VHDL之Serial-Parallel Multiplier
1 Serial-parallel multiplier Figure 12.1 shows the RTL diagram of a serial-parallel multiplier. One ...
- Ubuntu用户自定义脚本开机启动
如果想让自己写的脚本随开机自动执行,可以这样做: 编辑文件/etc/init.d/rc.local,在最后添加用户自定义脚本的完整路径即可. 很简单有木有!!
- iptables详解(5):iptables匹配条件总结之二(常用扩展模块)
所属分类:IPtables Linux基础 在本博客中,从理论到实践,系统的介绍了iptables,如果你想要从头开始了解iptables,可以查看iptables文章列表,直达链接如下 iptab ...