当前位置: 首页 > news >正文

手机版网站开发教学wordpress 查看访客

手机版网站开发教学,wordpress 查看访客,信息网站开发,做编程网站有哪些内容前言 依赖库#xff1a;opencv 2.4.9 /dlib 19.0/libfacedetection 本篇不记录如何配置#xff0c;重点在实现上。使用libfacedetection实现人脸区域检测#xff0c;联合dlib标记人脸特征点#xff0c;最后使用opencv的FaceRecognizer实现人脸识别。 准备工作 1、配置好Op… 前言 依赖库opencv 2.4.9 /dlib 19.0/libfacedetection 本篇不记录如何配置重点在实现上。使用libfacedetection实现人脸区域检测联合dlib标记人脸特征点最后使用opencv的FaceRecognizer实现人脸识别。 准备工作 1、配置好Opencv2.4.9。Opencv3.1需要另外下载一个包才有FaceRecognizer 2、配置好dlib 19.0(版本其实没有多大关系) 3、配置好ShiQi.Yu的人脸检测库 思想 训练模块人脸检测——获取人脸区域的点坐标——人脸关键点标记——人脸对正——归一化处理——保存图片——手动筛选图片——训练样本——得到train.xml 识别模块读取train.xml——循环人脸检测——获取人脸区域的点坐标——人脸关键点标记——人脸对正——归一化处理——送入model-predict——预测出结果——putText在方框上写出名字 结果 识别速度0.15~0.25秒Release平台。 识别精度还可以 使用了一段中国好声音的视频做识别。 当然这里用的是Fisherface算法主要还是样本不多已经可以搞定了。 代码 ReadCSV.h #include opencv.hpp #include iostream #include fstream using namespace cv; using namespace std; static void read_csv(const string filename, cv::vectorMat images, cv::vectorint 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()) {images.push_back(imread(path, 0));labels.push_back(atoi(classlabel.c_str()));}} } FaceRotate.h #include dlib/image_processing/frontal_face_detector.h #include dlib/image_processing/render_face_detections.h #include dlib/image_processing.h #include dlib/gui_widgets.h #include dlib/image_io.h #includedlib/opencv/cv_image.h #include dlib/opencv.husing namespace dlib;frontal_face_detector detector get_frontal_face_detector(); shape_predictor sp;//Already get FaceRecognition.cpp #include FaceDetect.h #include ReadCSV.h const int namenumber 4;//测试的人脸数量 const string textname[namenumber] { Hariem, Miss.Na, Mr.Wang, Jay.Chou };//做一个储存人脸名字的数组PtrFaceRecognizer GetTrainModel(string fn_csv)//输入CSV文件的路径名 {vectorMat images; vectorint labels;try {read_csv(fn_csv, images, labels);}catch (cv::Exception e) {cerr Error opening file \ fn_csv \. Reason: e.msg endl;// 文件有问题我们啥也做不了了退出了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);}PtrFaceRecognizer model createEigenFaceRecognizer(80);//创建人脸识别类 可修改 LBPHFace、EigenFace、FisherFacemodel-train(images, labels);return model; }int main() {Dlib_Predefine();//加载dlib的文件PtrFaceRecognizer model GetTrainModel(face.csv);//获得模型VideoCapture cap(好声音.mp4);Mat frame,gray;while (true){cap frame;if (!frame.empty()){gray FaceDetect(frame);if (!gray.empty())putText(frame, textname[model-predict(gray)], Point(50, 50), FONT_HERSHEY_DUPLEX, 3, Scalar(230, 255, 0), 2);//model-predict(frame) predictLabel 名字写在 1 1imshow(Face Recogniton, frame);waitKey(1);}else{ cout The Videos end. endl; break; }}} FaceDetect.cpp 用了掩码。 #include FaceDetect.h #include FaceRotate.h void Dlib_Predefine() {deserialize(shape_predictor_68_face_landmarks.dat) sp;//读入标记点文件 }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_tmp((unsigned char*)(gray.ptr(0)), gray.cols, gray.rows, gray.step, 1.2f, 5, 24);int peopleNUM (pResults ? *pResults : 0);for (int i 0; i peopleNUM; i)//代表有几张人脸(pResults ? *pResults : 0){short * p ((short*)(pResults 1)) 6 * i;Rect opencvRect(p[0], p[1], p[2], p[3]);//gray gray(opencvRect);cv::rectangle(frame, opencvRect, Scalar(230, 255, 0));dlib::rectangle dlibRect((long)opencvRect.tl().x, (long)opencvRect.tl().y, (long)opencvRect.br().x - 1, (long)opencvRect.br().y - 1);//人脸对齐技术提高了准确率dlib::full_object_detection shape sp(dlib::cv_imageuchar(gray), dlibRect);//标记点std::vectorfull_object_detection shapes;shapes.push_back(shape);//把点保存在了shape中dlib::arrayarray2drgb_pixel face_chips;extract_image_chips(dlib::cv_imageuchar(gray), get_face_chip_details(shapes), face_chips);Mat pic toMat(face_chips[0]);cvtColor(pic, pic, CV_BGR2GRAY);return FaceToOne(pic);}return error; } FaceDetect.h #include opencv.hpp #include facedetect-dll.husing namespace cv; using namespace std;Mat FaceDetect(Mat frame); void Dlib_Predefine();//dlib 预定义的函数FaceRotate.h #include dlib/image_processing/frontal_face_detector.h #include dlib/image_processing/render_face_detections.h #include dlib/image_processing.h #include dlib/gui_widgets.h #include dlib/image_io.h #includedlib/opencv/cv_image.h #include dlib/opencv.husing namespace dlib;frontal_face_detector detector get_frontal_face_detector(); shape_predictor sp;//Already get Mask图片 转载于:https://www.cnblogs.com/mtcnn/p/9412040.html
http://www.zqtcl.cn/news/267582/

相关文章:

  • 网站制作主要公司哪个软件购物便宜又好
  • 如何取一个大气的名字的做网站263企业邮箱登录登录入口电脑版
  • 最好的做法是百度站长seo
  • 网站建设的基础常识dw个人简历网页制作
  • 网站建设怎么样做账义乌市住房和城乡建设局网站
  • 做网站友情链接的步骤wordpress文库主题
  • 网站模板用什么软件做泉州网站建设轩奇网讯
  • 网站开发必备人员网页设计图片居中代码
  • 网站列表页怎么做的百度seo优
  • 做网站销售好不好企业seo培训
  • 网站制作排版越南网站建设
  • 满城建设局网站我要买房网
  • 长沙百度提升排名南宁网站seo公司
  • 凡科网做网站怎样东莞寮步汽车城
  • 做百度网站费用多少基于html5的移动端网站开发
  • 专业做网站设计哪家好大型网站技术方案
  • 海外医疗兼职网站建设wordpress 最受欢迎主题
  • 网站改版方案案例入门级网页设计培训学员
  • 安徽优化网站运营平台
  • 小型企业网站设计教程面备案网站建设
  • 重庆业务外包网站建设办公室装修一般多少钱一个平方
  • 网站查询域名ip解析手机短视频网站的建设
  • 甘肃机械化建设工程有限公司网站微小店网站建设价格
  • 个人空间网站建设报告网络游戏交易平台
  • 深圳医疗网站建设中小企业网站功能
  • 汕头集团做网站方案建设网站要买空间吗
  • 宁波搭建网站专业展馆展厅设计公司深圳
  • 山东省建设工程电子信息网站广州开发区第一小学
  • 网站建设推广重要性河北高端网站建设
  • 网站的seo方案怎么做wordpress自动转内链