资源简介
eyelike的windows版本,VS2010工程,依赖OpenCV2.4.11。
配套博客链接:https://blog.csdn.net/chaipp0607/article/details/79935302
代码片段和文件信息
#include “opencv2/objdetect/objdetect.hpp“
#include “opencv2/highgui/highgui.hpp“
#include “opencv2/imgproc/imgproc.hpp“
//#include
#include
#include
#include
#include
#include “constants.h“
#include “helpers.h“
using namespace std;
using namespace cv;
// Pre-declarations
cv::Mat floodKillEdges(cv::Mat &mat);
#pragma mark Visualization
/*
template mglData *matToData(const cv::Mat &mat) {
mglData *data = new mglData(mat.colsmat.rows);
for (int y = 0; y < mat.rows; ++y) {
const T *Mr = mat.ptr(y);
for (int x = 0; x < mat.cols; ++x) {
data->Put(((mreal)Mr[x])xy);
}
}
return data;
}
void plotVecField(const cv::Mat &gradientX const cv::Mat &gradientY const cv::Mat &img) {
mglData *xData = matToData(gradientX);
mglData *yData = matToData(gradientY);
mglData *imgData = matToData(img);
mglGraph gr(0gradientX.cols * 20 gradientY.rows * 20);
gr.Vect(*xData *yData);
gr.Mesh(*imgData);
gr.Writeframe(“vecField.png“);
delete xData;
delete yData;
delete imgData;
}*/
#pragma mark Helpers
int round(double r)
{
return (r > 0.0) ? floor(r + 0.5) : ceil(r - 0.5);
}
cv::Point unscalePoint(cv::Point p cv::Rect origSize) {
float ratio = (((float)kFastEyeWidth)/origSize.width);
int x = round(p.x / ratio);
int y = round(p.y / ratio);
return cv::Point(xy);
}
void scaleToFastSize(const cv::Mat &srccv::Mat &dst) {
cv::resize(src dst cv::Size(kFastEyeWidth(((float)kFastEyeWidth)/src.cols) * src.rows));
}
cv::Mat computeMatXGradient(const cv::Mat &mat) {
cv::Mat out(mat.rowsmat.colsCV_64F);
for (int y = 0; y < mat.rows; ++y) {
const uchar *Mr = mat.ptr(y);
double *Or = out.ptr(y);
Or[0] = Mr[1] - Mr[0];
for (int x = 1; x < mat.cols - 1; ++x) {
Or[x] = (Mr[x+1] - Mr[x-1])/2.0;
}
Or[mat.cols-1] = Mr[mat.cols-1] - Mr[mat.cols-2];
}
return out;
}
#pragma mark Main Algorithm
void testPossibleCentersFormula(int x int y const cv::Mat &weightdouble gx double gy cv::Mat &out) {
// for all possible centers
for (int cy = 0; cy < out.rows; ++cy) {
double *Or = out.ptr(cy);
const unsigned char *Wr = weight.ptr(cy);
for (int cx = 0; cx < out.cols; ++cx) {
if (x == cx && y == cy) {
continue;
}
// create a vector from the possible center to the gradient origin
double dx = x - cx;
double dy = y - cy;
// normalize d
double magnitude = sqrt((dx * dx) + (dy * dy));
dx = dx / magnitude;
dy = dy / magnitude;
double dotProduct = dx*gx + dy*gy;
dotProduct = std::max(0.0dotProduct);
// square and multiply by the weight
if (kEnableWeight) {
Or[cx] += dotProduct * dotProduct * (Wr[cx]/kWeightDivisor);
} else {
Or[cx] += dotProduct * dotProduct;
}
}
}
}
cv::Point findEyeCenter(cv::Mat face cv::R
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 136704 2018-04-13 21:09 eyelike1.0\Debug\main.exe
文件 2038180 2018-04-13 21:09 eyelike1.0\Debug\main.ilk
文件 1936384 2018-04-13 21:09 eyelike1.0\Debug\main.pdb
文件 47906816 2018-04-14 14:54 eyelike1.0\ipch\main-e69ee443\main-62bed6b1.ipch
文件 685 2017-10-17 01:07 eyelike1.0\main\constants.h
文件 10510 2018-04-13 21:09 eyelike1.0\main\Debug\cl.command.1.tlog
文件 89002 2018-04-13 21:09 eyelike1.0\main\Debug\CL.read.1.tlog
文件 6528 2018-04-13 21:09 eyelike1.0\main\Debug\CL.write.1.tlog
文件 267423 2018-04-13 21:09 eyelike1.0\main\Debug\findEyeCenter.obj
文件 143049 2018-04-13 21:09 eyelike1.0\main\Debug\findEyeCorner.obj
文件 139689 2018-04-13 21:09 eyelike1.0\main\Debug\helpers.obj
文件 2 2018-04-13 21:09 eyelike1.0\main\Debug\li
文件 2 2018-04-13 21:09 eyelike1.0\main\Debug\li
文件 2 2018-04-13 21:09 eyelike1.0\main\Debug\li
文件 2 2018-04-13 21:09 eyelike1.0\main\Debug\li
文件 2 2018-04-13 21:09 eyelike1.0\main\Debug\li
文件 2 2018-04-13 21:09 eyelike1.0\main\Debug\li
文件 9598 2018-04-13 21:09 eyelike1.0\main\Debug\li
文件 18796 2018-04-13 21:09 eyelike1.0\main\Debug\li
文件 3542 2018-04-13 21:09 eyelike1.0\main\Debug\li
文件 406 2018-03-31 14:08 eyelike1.0\main\Debug\main.exe.em
文件 472 2018-04-13 21:09 eyelike1.0\main\Debug\main.exe.em
文件 381 2018-04-13 21:09 eyelike1.0\main\Debug\main.exe.intermediate.manifest
文件 73 2018-04-14 15:45 eyelike1.0\main\Debug\main.lastbuildstate
文件 873 2018-04-14 15:45 eyelike1.0\main\Debug\main.log
文件 315762 2018-04-13 21:09 eyelike1.0\main\Debug\main.obj
文件 713 2018-03-31 13:52 eyelike1.0\main\Debug\main.vcxprojResolveAssemblyReference.cache
文件 0 2018-03-31 13:52 eyelike1.0\main\Debug\main.write.1.tlog
文件 198 2018-03-31 14:08 eyelike1.0\main\Debug\main_manifest.rc
文件 1116 2018-04-13 21:09 eyelike1.0\main\Debug\mt.command.1.tlog
............此处省略29个文件信息
相关资源
- 基于AdaBoost算法的人脸检测(北京大学
- facenet-master_韦访注释
- 人脸检测之MTCNN以及NTCNN实现
- 刷脸背后 人脸检测 人脸识别 人脸检
- 人脸检测exe程序可直接运行
- 人脸检测追踪 demo MVP模式
- AdaBoost人脸检测程序
- 人脸检测,检测人睁闭眼睛,可以判
- seetaface的人脸检测-人脸对齐-人脸识别
- BioID人脸检测/人脸识别正样本数据集
- 利用haar+CART+adaboost训练自己的人脸检
- 人脸检测正样本fddb数据库,已经截取
- 基于opencv的人脸检测与跟踪
- opencv使用cascade分类器训练人脸检测的
- 人脸表情识别 源代码
- 人脸识别含原理、论文和源代码
- Opencv3.0.0人脸检测+识别代码,vs2012工
- MTCNN人脸检测应用代码
- SVM+LBP 人脸检测
- 安卓opencv实现多人检测,人脸检测,
- DlibTest.7z
- Haar人脸检测+SVM+PCA人脸识别
- MIT数据库及相关
- 人脸数据库 种常用人脸数据库汇总,
- Haar+Adaboost人脸检测 C实现
- dlib人脸68点特征点检测
- 基于YCbCr空间的高斯肤色模型的人脸检
-
人脸检测xm
l - 微信小程序开发之人脸识别源码
- 一个完整的人脸识别系统源代码,可
评论
共有 条评论