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
随机推荐
- android sqlite中判断某个表是否存在
<span style="font-size:18px;">sqlite 中判断某个表是否存在的方法,贴出来供大家参考 /** * 判断某张表是否存在 * @param ...
- 自动保存草稿 asp+ajax自动存稿功能详解(转自影子)
自动保存草稿功能的原理 我们都知道网页是一种无状态的,每次都需要请求,响应,当一次请求完成后就与服务器断开连接了,所以我们不能像网页一样实现实时的交互功能,但是为了满足更多的需求一个比较无敌的程序员还 ...
- Python随笔-切片
Python为取list部分元素提供了切片操作,list[begin:end]获取list的[begin,end)区间元素. 可以用负数索引. tuple.str都是list的一种,所以也适用. 可以 ...
- 程序员的幽默-献给所有Java程序员
1. 一程序员去面试,面试官问:“你毕业才两年,这三年工作经验是怎么来的?!”程序员答:“加班.” 2. 某程序员对书法十分感兴趣,退休后决定在这方面有所建树.于是花重金购买了上等的文房四宝.一日,饭 ...
- Linux学习(一)--基本概念
一.Linux概述 Linux是一款全球性的免费的开源的操作系统平台,其特点是实现了多任务多用户处理,主要是依赖内核kernel shell,且占用资源少 (最小配置只要4Mb内存就能运行). 百度百 ...
- 在CentOS6,CentOS7安装 Let'sEncrypt 免费SSL安全证书
相对来说,个人网站建立SSL是昂贵的,而且往往过程繁琐.一个标准的2048位证书费用至少150美元/年,网站除了要支付一笔昂贵的费用.重新配置Web服务器,并需要解决大量的配置错误.这让广大中小网站望 ...
- 【sqli-labs】 less55 GET -Challenge -Union -14 queries allowed -Variation1 (GET型 挑战 联合查询 只允许14次查询 变化2)
http://192.168.136.128/sqli-labs-master/Less-55/?id=1' 试了几次,整型带括号正常了 http://192.168.136.128/sqli-lab ...
- transactoin
hibernate对数据的操作是封装在事务当中,并且默认是非自动提交方式.所以用session保存对象时,如果不开启事务,并且手工提交事务,对象并不会真正保存在数据库中.
- Address space layout randomization
Address space layout randomization (ASLR) is a computer security technique involved in preventing ex ...
- __declspec(dllexport)
__declspec(dllexport) (2010-06-17 10:04:28) 转载▼ 标签: __declspec dllexport 导出 it 分类: C 先看代码:以下是在dev-c+ ...