91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 18.22MB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發布日期: 2023-08-04
  • 語言: 其他
  • 標簽: 人臉識別??opencv??

資源簡介

利用opencv進行人臉識別,包括人臉檢測+特征提取 最常見的人臉識別方法采用的是:人臉檢測+人臉對齊+特征提取+識別,本文方法沒有采用人臉對齊,因為本來opencv提取的特征效果就不好,只是參考玩玩。

資源截圖

代碼片段和文件信息

#include?“FaceDetect.h“

void?read_csv(const?string&?filename?cv::vector&?images?cv::vector&?labels?char?separator?=?‘;‘)?{
std::ifstream?file(filename.c_str()?ifstream::in);
if?(!file)?{
string?error_message?=?“No?valid?input?file?was?given?please?check?the?given?filename.“;
CV_Error(CV_StsBadArg?error_message);
}
string?line?path?classlabel;
while?(getline(file?line))?{
stringstream?liness(line);
getline(liness?path?separator);
getline(liness?classlabel);
if?(!path.empty()?&&?!classlabel.empty())?{
Mat?image?=?imread(path?1);
Mat?face?=?FaceDetect(image);
/*Mat?facegray;
cvtColor(face?facegray?CV_BGR2GRAY);*/
images.push_back(face);
labels.push_back(atoi(classlabel.c_str()));
}
}
}
cv::Mat?FaceToOne(cv::Mat?source)//歸一化處理函數
{

cv::equalizeHist(source?source);//直方圖均衡
cv::resize(source?source?cv::Size(92?112));//裁剪
cv::Mat?Mask?=?cv::imread(“mask.jpg“?0);
cv::Mat?changedMask;
source.copyTo(changedMask?Mask);
return?changedMask;
}

Mat?FaceDetect(Mat&?frame)//臉是否存在
{
Mat?gray?error;
cvtColor(frame?gray?CV_BGR2GRAY);
int?*?pResults?=?NULL;
pResults?=?facedetect_frontal((unsigned?char*)(gray.ptr(0))?gray.data?gray.cols?gray.rows?gray.step
1.2f?5?24);
//pResults?=?facedetect_frontal_tmp((unsigned?char*)(gray.ptr(0))?gray.cols?gray.rows?gray.step?1.2f?5?24);
int?peopleNUM?=?(pResults???*pResults?:?0);
float?Area?=?0.0f;

Rect?MaxRect(0000);
for?(int?i?=?0;?i? {
short?*?p?=?((short*)(pResults?+?1))?+?6?*?i;
float?area?=?p[2]?*?p[3];
if(area?>?Area)
{
Area?=?area;
Rect?opencvRect(p[0]?p[1]?p[2]?p[3]);
MaxRect?=?opencvRect;
}
}
if?(0?!=?MaxRect.area())
{
cv::rectangle(frame?MaxRect?Scalar(255?0?0)?2);
Mat?pic?=?gray(MaxRect);//感覺加了mask以后效果并不好
Mat?pic_resize;
cv::resize(pic?pic_resize?cv::Size(100?100));
?/*cvtColor(pic?pic?CV_BGR2GRAY);
return?FaceToOne(pic);*/
return?pic_resize;
}
else
return?error;
}

Ptr??GetTrainModel(string?fn_csv)//輸入CSV文件的路徑名
{
vector?images;
vector?labels;
try?{
read_csv(fn_csv?images?labels);
}
catch?(cv::Exception&?e)?{
cerr?< //?文件有問題,我們啥也做不了了,退出了
exit(1);
}
//?如果沒有讀取到足夠圖片,我們也得退出.
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);
}
Ptr?model?=?createLBPHFaceRecognizer();//創建人臉識別類?可修改?LBPHFace、EigenFace、FisherFace
model->train(images?labels);
return?model;
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-10-12?16:37??FaceRecognition_Opencv\
?????目錄???????????0??2017-10-12?15:08??FaceRecognition_Opencv\.vs\
?????目錄???????????0??2017-10-12?15:08??FaceRecognition_Opencv\.vs\FaceRecognition_Opencv\
?????目錄???????????0??2017-10-12?15:08??FaceRecognition_Opencv\.vs\FaceRecognition_Opencv\v14\
?????文件???????26112??2017-10-12?16:37??FaceRecognition_Opencv\.vs\FaceRecognition_Opencv\v14\.suo
?????目錄???????????0??2017-10-12?16:38??FaceRecognition_Opencv\FaceRecognition_Opencv\
?????文件????????2877??2017-10-12?16:25??FaceRecognition_Opencv\FaceRecognition_Opencv\FaceDetect.cpp
?????文件?????????242??2017-10-12?16:32??FaceRecognition_Opencv\FaceRecognition_Opencv\FaceDetect.h
?????文件?????????845??2017-10-12?16:23??FaceRecognition_Opencv\FaceRecognition_Opencv\FaceRecognition.cpp
?????文件????????8905??2017-10-12?16:09??FaceRecognition_Opencv\FaceRecognition_Opencv\FaceRecognition_Opencv.vcxproj
?????文件????????1173??2017-10-12?15:55??FaceRecognition_Opencv\FaceRecognition_Opencv\FaceRecognition_Opencv.vcxproj.filters
?????文件?????????165??2017-10-12?15:08??FaceRecognition_Opencv\FaceRecognition_Opencv\FaceRecognition_Opencv.vcxproj.user
?????文件??????????68??2017-10-12?16:17??FaceRecognition_Opencv\FaceRecognition_Opencv\face.csv
?????文件?????9933312??2017-04-14?09:13??FaceRecognition_Opencv\FaceRecognition_Opencv\libfacedetect-x64.dll
?????文件???????17297??2017-09-14?15:18??FaceRecognition_Opencv\FaceRecognition_Opencv\mask.jpg
?????目錄???????????0??2017-10-12?16:08??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\
?????目錄???????????0??2017-10-12?16:34??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\Debug\
?????文件??????814234??2017-10-12?16:34??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\Debug\FaceDetect.obj
?????目錄???????????0??2017-10-12?16:34??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\Debug\FaceReco.D22FE948.tlog\
?????文件????????1430??2017-10-12?16:34??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\Debug\FaceReco.D22FE948.tlog\CL.command.1.tlog
?????文件???????33240??2017-10-12?16:34??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\Debug\FaceReco.D22FE948.tlog\CL.read.1.tlog
?????文件????????2286??2017-10-12?16:34??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\Debug\FaceReco.D22FE948.tlog\CL.write.1.tlog
?????文件?????????208??2017-10-12?16:34??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\Debug\FaceReco.D22FE948.tlog\FaceRecognition_Opencv.lastbuildstate
?????文件????????2490??2017-10-12?16:34??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\Debug\FaceReco.D22FE948.tlog\link.command.1.tlog
?????文件????????5490??2017-10-12?16:34??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\Debug\FaceReco.D22FE948.tlog\link.read.1.tlog
?????文件?????????796??2017-10-12?16:34??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\Debug\FaceReco.D22FE948.tlog\link.write.1.tlog
?????文件??????302873??2017-10-12?16:34??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\Debug\FaceRecognition.obj
?????文件?????????706??2017-10-12?16:34??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\Debug\FaceRecognition_Opencv.log
?????文件??????912384??2017-10-12?16:34??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\Debug\vc140.idb
?????文件?????1601536??2017-10-12?16:34??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\Debug\vc140.pdb
?????目錄???????????0??2017-10-12?16:00??FaceRecognition_Opencv\FaceRecognition_Opencv\x64\Release\
............此處省略44個文件信息

評論

共有 條評論