基于QT实现的人脸识别系统,基于caffe框架C++实现,人脸检测部分使用MTCNN算法实现,识别部分用Seetaface里的Identification,Qt实现界面开发,使用MySQL数据库。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-07-09 10:24 FaceRecognition
目录 0 2018-07-07 10:49 FaceRecognition.vs
目录 0 2018-07-07 10:49 FaceRecognition.vsFaceRecognition
目录 0 2018-07-07 10:49 FaceRecognition.vsFaceRecognitionv14
文件 41472 2018-07-09 10:24 FaceRecognition.vsFaceRecognitionv14.suo
目录 0 2018-07-09 10:21 FaceRecognitionFaceRecognition
文件 7251 2018-07-09 10:21 FaceRecognitionFaceRecognitionFaceRecognition.cpp
文件 960 2018-07-09 10:06 FaceRecognitionFaceRecognitionFaceRecognition.h
文件 75 2018-07-07 10:49 FaceRecognitionFaceRecognitionFaceRecognition.qrc
文件 4394 2018-07-07 17:17 FaceRecognitionFaceRecognitionFaceRecognition.ui
文件 11731 2018-07-08 13:01 FaceRecognitionFaceRecognitionFaceRecognition.vcxproj
文件 2425 2018-07-08 13:01 FaceRecognitionFaceRecognitionFaceRecognition.vcxproj.filters
文件 633 2018-07-09 10:24 FaceRecognitionFaceRecognitionFaceRecognition.vcxproj.user
目录 0 2018-07-08 13:32 FaceRecognitionFaceRecognitionGeneratedFiles
目录 0 2018-07-08 13:32 FaceRecognitionFaceRecognitionGeneratedFilesRelease
文件 4004 2018-07-09 10:06 FaceRecognitionFaceRecognitionGeneratedFilesReleasemoc_FaceRecognition.cpp
文件 1444 2018-07-08 13:32 FaceRecognitionFaceRecognitionGeneratedFilesqrc_FaceRecognition.cpp
文件 5940 2018-07-08 13:32 FaceRecognitionFaceRecognitionGeneratedFilesui_FaceRecognition.h
文件 22120 2018-07-07 09:49 FaceRecognitionFaceRecognitionMTCNN.cpp
文件 2901 2018-07-05 20:18 FaceRecognitionFaceRecognitionMTCNN.h
目录 0 2018-07-09 10:25 FaceRecognitionFaceRecognitionResources
文件 2694 2018-07-07 11:06 FaceRecognitionFaceRecognitionSeetaIdentification.cpp
文件 879 2018-07-07 11:06 FaceRecognitionFaceRecognitionSeetaIdentification.h
文件 652 2018-07-05 20:29 FaceRecognitionFaceRecognitionhead.h
文件 189 2018-07-08 10:15 FaceRecognitionFaceRecognitionmain.cpp
目录 0 2018-07-07 11:00 FaceRecognitionFaceRecognitionx64
目录 0 2018-07-07 10:50 FaceRecognitionFaceRecognitionx64Debug
文件 36 2018-07-07 10:50 FaceRecognitionFaceRecognitionx64DebugFaceRecognition.log
目录 0 2018-07-07 10:50 FaceRecognitionFaceRecognitionx64DebugFaceRecognition.tlog
文件 212 2018-07-07 10:50 FaceRecognitionFaceRecognitionx64DebugFaceRecognition.tlogFaceRecognition.write.1u.tlog
文件 131 2018-07-07 10:50 FaceRecognitionFaceRecognitionx64Debugqt.log
............此处省略60个文件信息
#include “FaceRecognition.h“
FaceRecognition::FaceRecognition(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
timer = new QTimer(this);
//connect(ui.pushButton_registerSIGNAL(clicked()) this SLOT(on_pushButton_register_clicked()));
//connect(ui.pushButton_search SIGNAL(clicked()) this SLOT(on_pushButton_search_clicked()));
connect(timer SIGNAL(timeout()) this SLOT(showImage()));
ui.lineEdit_id->hide();
ui.lineEdit_result->hide();
ui.lineEdit_similarity->hide();
timer->start(33);
cap.open(0);
}
cv::Mat FaceRecognition::QImage2cvMat(QImage image) {
cv::Mat mat;
qDebug() << image.format();
switch (image.format())
{
case QImage::Format_ARGB32:
case QImage::Format_RGB32:
case QImage::Format_ARGB32_Premultiplied:
mat = cv::Mat(image.height() image.width() CV_8UC4 (void*)image.constBits() image.bytesPerLine());
break;
case QImage::Format_RGB888:
mat = cv::Mat(image.height() image.width() CV_8UC3 (void*)image.constBits() image.bytesPerLine());
cv::cvtColor(mat mat CV_BGR2RGB);
break;
case QImage::Format_Indexed8:
mat = cv::Mat(image.height() image.width() CV_8UC1 (void*)image.constBits() image.bytesPerLine());
break;
}
return mat;
}
QImage FaceRecognition::cvMatToQImage(const cv::Mat& mat) {
// 8-bits unsigned NO. OF CHANNELS = 1
if (mat.type() == CV_8UC1)
{
QImage image(mat.cols mat.rows QImage::Format_Indexed8);
// Set the color table (used to translate colour indexes to qRgb values)
image.setColorCount(256);
for (int i = 0; i < 256; i++)
{
image.setColor(i qRgb(i i i));
}
// Copy input Mat
uchar *pSrc = mat.data;
for (int row = 0; row < mat.rows; row++)
{
uchar *pDest = image.scanLine(row);
memcpy(pDest pSrc mat.cols);
pSrc += mat.step;
}
return image;
}
// 8-bits unsigned NO. OF CHANNELS = 3
else if (mat.type() == CV_8UC3)
{
// Copy input Mat
const uchar *pSrc = (const uchar*)mat.data;
// Create QImage with same dimensions as input Mat
QImage image(pSrc mat.cols mat.rows mat.step QImage::Format_RGB888);
return image.rgbSwapped();
}
else if (mat.type() == CV_8UC4)
{
qDebug() << “CV_8UC4“;
// Copy input Mat
const uchar *pSrc = (const uchar*)mat.data;
// Create QImage with same dimensions as input Mat
QImage image(pSrc mat.cols mat.rows mat.step QImage::Format_ARGB32);
return image.copy();
}
else
{
qDebug() << “ERROR: Mat could not be converted to QImage.“;
return QImage();
}
}
void FaceRecognition::showImage() {
cap >> frame;
image = this->cvMatToQImage(frame);
ui.label_camera->clear();
ui.label_camera->setPixmap(QPixmap::fromImage(image));
//ui.label_camera->resize(ui.label_camera->pixmap()->size());
ui.label_camera->show();
}
cv::Mat FaceRecognition::getFace(cv::Mat img) {
std::vector faces;
std::vector faceRects;
MTCNN mtcnn(“C:\projects\Qt\FaceR
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-07-09 10:24 FaceRecognition
目录 0 2018-07-07 10:49 FaceRecognition.vs
目录 0 2018-07-07 10:49 FaceRecognition.vsFaceRecognition
目录 0 2018-07-07 10:49 FaceRecognition.vsFaceRecognitionv14
文件 41472 2018-07-09 10:24 FaceRecognition.vsFaceRecognitionv14.suo
目录 0 2018-07-09 10:21 FaceRecognitionFaceRecognition
文件 7251 2018-07-09 10:21 FaceRecognitionFaceRecognitionFaceRecognition.cpp
文件 960 2018-07-09 10:06 FaceRecognitionFaceRecognitionFaceRecognition.h
文件 75 2018-07-07 10:49 FaceRecognitionFaceRecognitionFaceRecognition.qrc
文件 4394 2018-07-07 17:17 FaceRecognitionFaceRecognitionFaceRecognition.ui
文件 11731 2018-07-08 13:01 FaceRecognitionFaceRecognitionFaceRecognition.vcxproj
文件 2425 2018-07-08 13:01 FaceRecognitionFaceRecognitionFaceRecognition.vcxproj.filters
文件 633 2018-07-09 10:24 FaceRecognitionFaceRecognitionFaceRecognition.vcxproj.user
目录 0 2018-07-08 13:32 FaceRecognitionFaceRecognitionGeneratedFiles
目录 0 2018-07-08 13:32 FaceRecognitionFaceRecognitionGeneratedFilesRelease
文件 4004 2018-07-09 10:06 FaceRecognitionFaceRecognitionGeneratedFilesReleasemoc_FaceRecognition.cpp
文件 1444 2018-07-08 13:32 FaceRecognitionFaceRecognitionGeneratedFilesqrc_FaceRecognition.cpp
文件 5940 2018-07-08 13:32 FaceRecognitionFaceRecognitionGeneratedFilesui_FaceRecognition.h
文件 22120 2018-07-07 09:49 FaceRecognitionFaceRecognitionMTCNN.cpp
文件 2901 2018-07-05 20:18 FaceRecognitionFaceRecognitionMTCNN.h
目录 0 2018-07-09 10:25 FaceRecognitionFaceRecognitionResources
文件 2694 2018-07-07 11:06 FaceRecognitionFaceRecognitionSeetaIdentification.cpp
文件 879 2018-07-07 11:06 FaceRecognitionFaceRecognitionSeetaIdentification.h
文件 652 2018-07-05 20:29 FaceRecognitionFaceRecognitionhead.h
文件 189 2018-07-08 10:15 FaceRecognitionFaceRecognitionmain.cpp
目录 0 2018-07-07 11:00 FaceRecognitionFaceRecognitionx64
目录 0 2018-07-07 10:50 FaceRecognitionFaceRecognitionx64Debug
文件 36 2018-07-07 10:50 FaceRecognitionFaceRecognitionx64DebugFaceRecognition.log
目录 0 2018-07-07 10:50 FaceRecognitionFaceRecognitionx64DebugFaceRecognition.tlog
文件 212 2018-07-07 10:50 FaceRecognitionFaceRecognitionx64DebugFaceRecognition.tlogFaceRecognition.write.1u.tlog
文件 131 2018-07-07 10:50 FaceRecognitionFaceRecognitionx64Debugqt.log
............此处省略60个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)