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 签名(5)用命令签名和用android studio,eclipse签名
1,用命令签名 无论用哪个 IDE 开发,最终只是用了 keytool 和 jarsigner 这两个 Java 工具来完成签名任务(在 jdk 的 bin 目录下).其中 keytool 用来生成 ...
- SVN系列学习(三)-TortoiseSVN的基本操作
1.添加(Add) 在ZJHZXS_01中,新建一个记事本,在记事本中写上一下内容,然后保存,再打开,再保存 这个时候,在选中文件夹ZJHZXS_01,并右击[SVN Commit] 提交成功,加了一 ...
- git——merge和rebase的区别
参考http://www.jianshu.com/p/129e721adc6e 我在公司里看到其他同事都使用git pull --rebase拉取远程代码,而我总是用git pull,也有同事和我说过 ...
- 【MySQL】RPM包安装
操作系统:Red Hat Enterprise Linux Server release 6.5 Mysql安装包:MySQL-5.6.35-1.linux_glibc2.5.x86_64.rpm-b ...
- html5——多媒体(三)
自定义进度条 1.video标签是内联块,可以设置宽高,但是需要用大盒子将其包裹起来进行定位 2.小盒子设计成进度条样式,并进行定位 3.进度条样式中的特殊按钮可以用web字体 4.通过点击实现视频的 ...
- [Windows Server 2012] 安装PHP+MySQL方法
★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:PHP+MyS ...
- 谷歌浏览器中a:link设置字体颜色无效问题
<div id="box"> <a href="#">111111</a> <a href=""& ...
- PAT 1104 Sum of Number Segments
Given a sequence of positive numbers, a segment is defined to be a consecutive subsequence. For exam ...
- TypeError: CleanWebpackPlugin is not a constructor
在项目中引入clean-webpack-plugin打包后报错 new CleanWebpackPlugin(), ^ TypeError: CleanWebpackPlugin is not a c ...
- 【郑轻邀请赛 B】base64解密
[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2128 [题意] [题解] 把密文; 在表中找到每个字符对应的数字; 然后转换成相应的 ...