历时一个月,最终在昨天把《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++开发人脸性别识别总结的更多相关文章

  1. C++开发人脸性别识别教程(12)——加入性别识别功能

    经过之前几篇博客的解说,我们已经成功搭建了MFC应用框架,并实现了主要的图像显示和人脸检測程序,在这篇博文中我们要向当中加入性别识别代码. 关于性别识别,之前已经专门拿出两篇博客的篇幅来进行解说.这里 ...

  2. C++开发人脸性别识别教程(19)——界面美化

    在这篇博文中将完毕<C++开发人脸性别识别>的收尾工作.主要内容分为两部分:加入视频暂定功能.界面规范化. 一 视频暂停功能 严格来说这个视频暂定功能算是视频人脸性别识别的一个遗留问题,本 ...

  3. C++开发人脸性别识别教程(10)——加入图片的人脸检測程序

    现在我们的MFC框架已经初具规模,能够读取并显示目录下的图片.在这篇博文中我们将向当中加入人脸检測的程序. 一.人脸检測算法 这里我们使用OpenCv封装的Adaboost方法来进行人脸检測,參见:C ...

  4. C++开发人脸性别识别教程(16)——视频人脸性别识别

    在之前的博文中我们已经可以顺利驱动摄像头来採集源图像.在这篇博文中将正式为其加入性别识别的代码,实现摄像头视频的人脸性别识别. 一.人脸检測 在得到摄像头採集的源图像之后,首先要做的就是对其进行人脸检 ...

  5. C++开发人脸性别识别教程(3)——OpenCv配置和ImageWatch插件介绍

    OpenCv是C++图像处理的重要工具.这个人脸性别识别的项目就是借助OpenCv进行开发的. 尽管网上已经有了非常多关于OpenCv的配置教程,但出于教程完整性考虑.这里还是用专门的一篇博客来介绍O ...

  6. C++开发人脸性别识别教程(5)——通过FaceRecognizer类实现性别识别

    在之前的博客中已经攻克了人脸检測的问题,我们计划在这篇博客中介绍人脸识别.性别识别方面的相关实现方法. 事实上性别识别和人脸识别本质上是相似的,由于这里仅仅是一个简单的MFC开发,主要工作并不在算法研 ...

  7. C++开发人脸性别识别教程(7)——搭建MFC框架之界面绘制

    在之前的博客中我们已经将项目中用到的算法表述完成,包含人脸检測算法以及四种性别识别算法,在这篇博客中我们将着手搭建主要的MFC框架. 一.框架概况 在这篇博文中我们将搭建最主要的MFC框架.绘制MFC ...

  8. C++开发人脸性别识别教程(9)——搭建MFC框架之显示图片

    在之前的博客中我们已经实现读取用户选定的目录.并将其路径保存在对应的变量中.在这篇博文中我们将介绍怎样借助CvvImage类将图片显示在picture控件中,并自己主动读取目录下的其它图片. 一.加入 ...

  9. C++开发人脸性别识别教程(6)——通过SVM实现性别识别

    http://blog.csdn.net/u013088062/article/details/50480518

随机推荐

  1. 【LeetCode】467. Unique Substrings in Wraparound String

    Consider the string s to be the infinite wraparound string of "abcdefghijklmnopqrstuvwxyz" ...

  2. Zookeeper的临时节点和永久节点

    Zookeeper中节点分为两种:临时节点和永久节点. 临时节点有一个节点: 当创建临时节点的程序停掉之后,这个临时节点就会消失. 更直观的,如下   Persistent是临时节点. Persist ...

  3. ionic中遇到的一些问题和坑

    接触ionic有一段时间了,一路上踩了不少坑.大部分都记录下来了,分享给大家,可以少走很多弯路 1,ng-init不能在body里面初始化,可以在一个段落里面初始化<div ng-init> ...

  4. ajax不跳转页面的快速删除操作,可添加美观样式

    以前我们讲的删除是利用嵌入php代码,跳转到另一个页面,从而降低了删除速度,但我们今天讲的利用ajax不仅可以达到不跳页面快速删除,并且能添加特效来美化页面. 上代码,我们先来做主页面 <!DO ...

  5. T-SQL语句以及几个数据库引擎

    创建表 注意事项: A.自增长             B.数据库引擎, ISAM 是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数.因此,IS ...

  6. mysql_基础1

    初学mysql,感觉挺有意思的. mysql指令的一些参数: promrt修改提示符:   PROMPT \D mysql的语法规范: 一些函数: 创建数据库: SHOW CREATE DATABAS ...

  7. Discuz 取消 应用更新提醒 方法

    管理员每次登录论坛,遇有后台没有更新的应用都会有应用更新提醒提醒,而且关了还会继续弹出,问题是有些应用原来我装了免费的,新版本推出来了是 要收费的,我不想要更新,或者是即使有免费的新版本了,而我只要使 ...

  8. H5及微信中唤起app的解决方案

    今天我们就来说说这个callapp-lib 我的接到的需求大概是这样的 如果检测到不是在app里面用webview打开的页面就会显示上面的立即打开按钮, 点击的话会判断是否在微信中, 如果在微信中打开 ...

  9. Lua练习题集嚢

    --1.table.sort() am = {"cc","nn","ll","dd"} arr = function ( ...

  10. 小程序map地图多点定位

    最近需求有一个类似共享单车查看附近单车的功能,看了看小程序map api对多点定位显示描述的不怎么清晰.显示定位数组添加多个时就不显示了.踩了几个坑写了几个方法.最终弄出来了.有问题建议欢迎留言. h ...