1前言參考的是》 這篇用的是dlib的對齊還加了mask。
本文方法:人臉檢測( shiqiyu/libfacedetection)+opencv提取ptr類
2**
facedetect.h
#include
#include
#include
#include
#include "facedetect-dll.h"
using
namespace cv;
using
namespace
std;
ptrgettrainmodel(string fn_csv);
mat facedetect(mat& frame);
facedetect.cpp
#include "facedetect.h"
void read_csv(const
string& filename, cv::vector
& images, cv::vector
& labels, char separator = ';')
string line, path, classlabel;
while (getline(file, line))
}}cv::mat facetoone(cv::mat source)//歸一化處理函式
mat facedetect(mat& frame)//臉是否存在
}if (0 != maxrect.area())
else
return error;
}ptrgettrainmodel(string fn_csv)//輸入csv檔案的路徑名
catch (cv::exception& e)
// 如果沒有讀取到足夠,我們也得退出.
if (images.size() <= 1)
ptrmodel = createlbphfacerecognizer();//建立人臉識別類 可修改 lbphface、eigenface、fishe***ce
model->train(images, labels);
return model;
}
main.cpp
#include "facedetect.h"
const
int namenumber = 4;//測試的人臉數量
const
string textname[namenumber] = ;//做乙個儲存人臉名字的陣列
int main()
mat frame, gray;
while (true)
imshow("face recogniton", frame);
waitkey(1);
}else}}
3實驗效果
完整專案
基於Opencv的人臉識別
要進行人臉的識別的訓練,首先我們要對openv中人臉識別類facerecognizer要有乙個了解,可以參考這個部落格對facerecognizer 有乙個了解 這個部落格對人臉的訓練解釋的很好,具體怎麼訓練可以閱讀這個部落格。關於人臉識別 我們有一下兩個步驟 1.利用pca變換的人臉識別,對人臉進...
基於Opencv的人臉識別
當在閱讀書籍opencv3時,偶遇人臉識別這一概念,通過網上查閱得知人臉識別是生物特徵識別的最新應用。在此書籍引導下,寫了乙個最基本的人臉識別 期間有乙個問題需要注意,再往工程目錄匯入xml檔案是注意不要導錯,應該是這兩個haarcascade frontalface alt.xml和haarcas...
使用C 語言,基於opencv的人臉識別
基於opencv的人臉識別,主要是用到了訓練好的haarcascade frontalface default.xml檔案,這是opencv自帶的開源庫檔案,只需要載入程序式之中即可。include include using namespace std using namespace cv 訓練檔...