已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
opencv 人脸识别 (二)训练和识别 分类: C/C+ Computer Vision Machine Learning 2014-03-04 13:21 9819 人阅读 评论(59) 收藏 举报 人脸检测人脸识别归一化对齐 opencv 上一篇中我们对训练数据做了一些预处理,检测出人脸并保存在piccolorx 文件夹下 (x=1,2,3,.类别号),本文做训练和识别。为了识别,首先将人脸训练数据 转为灰度、 对齐、归一化,再放入分类器(EigenFaceRecognizer) ,最后用训练出的 model 进行 predict。 - 环境:vs2010+opencv 2.4.6.0 特征:eigenface Input:一个人脸数据库, 15 个人,每人 20 个样本(左右)。 Output:人脸检测,并识别出每张检测到的人脸。 - 1. 为训练数据预处理( 转为灰度、对齐、归一化 ) 转为灰度和对齐是后面做训练时 EigenFaceRecognizer 的要求; 归一化是防止光照带来的影响 在上一篇的 2.2 Prehelper.cpp 文件中加入函数 void resizeandtogray(char* dir,int k, vector cpp view plaincopyprint? 1. void resizeandtogray(char* dir,int K, vector 5. string cur_dir; 6. char id5; 7. int i,j; 8. for(int i=1; ifile_vec = statdir.BeginBrowseFilenames(“*.*“); 23. for (j=0;j images,testimages; 11. vector labels,testlabels; 12. resizeandtogray(dir,K,images,labels,testimages,testlabels); /togray, normalize and resize 13. 14. system(“pause“); 15. return 0; 16. 2. 训练 有了 vector images,testimages; vector labels,testlabels; 可以开始训 练了,我们采用 EigenFaceRecognizer 建模。 在 Prehelper.cpp 中加入函数 Ptr Recognition(vector images, vector labels,vector testimages, vector testlabels); cpp view plaincopyprint? 1. Ptr Recognition(vector images, vector labels, 2. vector testimages, vector testlabels) 3. 4. Ptr model = createEigenFaceRecognizer(10);/10 Princi pal components 5. couttrain(images,labels); 7. int i,acc=0,predict_l; 8. for (i=0;ipredict(testimagesi); 11. if(predict_l != testlabelsi) 12. 13. cout model 主函数改为: cpp view plaincopyprint? 1. int main( ) 2. 3. CvCapture* capture = 0; 4. Mat frame, frameCopy, image; 5. string inputName; 6. int mode; 7. 8. char dir256 = “D:CoursesCVFace_recognitionpic“; 9. /preprocess_trainingdata(dir,K); /face_detection and extract to fil e 10. vector images,testimages; 11. vector labels,testlabels; 12. /togray, normalize and resize; load to images,labels,testimages,test labels 13. resizeandtogray(dir,K,images,labels,testimages,testlabels); 14. /recognition 15. Ptr model = Recognition(images,labels,testimages,test labels); 16. char* dirmodel = new char 256; 17. strcpy(dirmodel,dir); strcat(dirmodel,“model.out“); 18. FILE* f = fopen(dirmodel,“w“); 19. fwrite(model,sizeof(model),1,f); 20. system(“pause“); 21. return 0; 22. 最终结果:一个错分样本,正确率 93.3% 文章所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47968-2026构网型变流器通用技术规范
- GB/T 30503-2026船用制氮装置通用技术条件
- GB/T 48045-2026耐磨耐热铸钢
- 粮食作物栽培工岗前核心技能考核试卷含答案
- 炭素混捏工风险评估与管理测试考核试卷含答案
- 油气水井测试工操作能力评优考核试卷含答案
- 二次雷达机务员安全意识水平考核试卷含答案
- 地质实验员岗位应急响应预案考考核试卷含答案
- 粪便处理工操作能力评优考核试卷含答案
- 采输气仪表工岗前专项应用考核试卷含答案
- 电梯装修施工方案
- GB/T 47911-2026小微型企业安全生产标准化管理体系要求
- TCFLP0030-2021国有企业网上商城采购交易操作规范
- 双语工程图学第十三章(部编)课件
- SYT 0452-2012 石油天然气金属管道焊接工艺评定
- 医疗设备仪器的清洁消毒
- JJG 270-2008血压计和血压表
- 患者出院的护理
- 颈椎病推拿治疗课件
- 管道闭水试验记录自动计算
- 内镜粘膜下剥离术(ESD)
评论
0/150
提交评论