opencv人脸识别训练

一开始我运用人脸库训练出一个xml文件,后来新增人脸时候需要将新人继续拿来训练,需要将训练的特征信息加在原来xml文件里面。如果程序不关闭是可以将新人特征信息加到xml文件里的。比如,原来的xml文件为face.xml;现在采集了一些人脸,需要将这些人脸的特征信息提取加入到face.cml;然后下次load这个face.xml进行人脸识别。现在就是怎么将这些人脸加入原来的xml文件呢?
这个是全局变量定义:
static vector<Mat> images;//头像集
static vector<int> labels;//标签集


训练:
model->load("face0.xml"); 
try 
{//现在的需要加入的图片入栈。调用程序loadFaceImg(train_csv, images, labels);//train_csv图片路径
loadFaceImg(train_csv, images, labels);
stringstream s;
s<<num;
cout<<"加载"+s.str()+"个人脸图片完成"<<endl;

catch (cv::Exception& e) 
{
cerr << "Error opening file \"" << train_csv << "\". Reason: " << e.msg << endl;
}
// Quit if there are not enough images for this demo.
if(images.size() <= 1) 
{
string error_message = "This demo needs at least 2 images to work. Please add more images to your data set!";
CV_Error(CV_StsError, error_message);
}

//初始化提取员工特征
model->train(images, labels);

model->save("face0.xml");//保存特征信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值