• 大小: 50.94MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-02-19
  • 语言: C/C++
  • 标签: MTCNN  SeetaF  Qt  caffe  

资源简介

基于QT实现的人脸识别系统,基于caffe框架C++实现,人脸检测部分使用MTCNN算法实现,识别部分用Seetaface里的Identification,Qt实现界面开发,使用MySQL数据库。

资源截图

代码片段和文件信息

#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\.vs\FaceRecognition\
     目录           0  2018-07-07 10:49  FaceRecognition\.vs\FaceRecognition\v14\
     文件       41472  2018-07-09 10:24  FaceRecognition\.vs\FaceRecognition\v14\.suo
     目录           0  2018-07-09 10:21  FaceRecognition\FaceRecognition\
     文件        7251  2018-07-09 10:21  FaceRecognition\FaceRecognition\FaceRecognition.cpp
     文件         960  2018-07-09 10:06  FaceRecognition\FaceRecognition\FaceRecognition.h
     文件          75  2018-07-07 10:49  FaceRecognition\FaceRecognition\FaceRecognition.qrc
     文件        4394  2018-07-07 17:17  FaceRecognition\FaceRecognition\FaceRecognition.ui
     文件       11731  2018-07-08 13:01  FaceRecognition\FaceRecognition\FaceRecognition.vcxproj
     文件        2425  2018-07-08 13:01  FaceRecognition\FaceRecognition\FaceRecognition.vcxproj.filters
     文件         633  2018-07-09 10:24  FaceRecognition\FaceRecognition\FaceRecognition.vcxproj.user
     目录           0  2018-07-08 13:32  FaceRecognition\FaceRecognition\GeneratedFiles\
     目录           0  2018-07-08 13:32  FaceRecognition\FaceRecognition\GeneratedFiles\Release\
     文件        4004  2018-07-09 10:06  FaceRecognition\FaceRecognition\GeneratedFiles\Release\moc_FaceRecognition.cpp
     文件        1444  2018-07-08 13:32  FaceRecognition\FaceRecognition\GeneratedFiles\qrc_FaceRecognition.cpp
     文件        5940  2018-07-08 13:32  FaceRecognition\FaceRecognition\GeneratedFiles\ui_FaceRecognition.h
     文件       22120  2018-07-07 09:49  FaceRecognition\FaceRecognition\MTCNN.cpp
     文件        2901  2018-07-05 20:18  FaceRecognition\FaceRecognition\MTCNN.h
     目录           0  2018-07-09 10:25  FaceRecognition\FaceRecognition\Resources\
     文件        2694  2018-07-07 11:06  FaceRecognition\FaceRecognition\SeetaIdentification.cpp
     文件         879  2018-07-07 11:06  FaceRecognition\FaceRecognition\SeetaIdentification.h
     文件         652  2018-07-05 20:29  FaceRecognition\FaceRecognition\head.h
     文件         189  2018-07-08 10:15  FaceRecognition\FaceRecognition\main.cpp
     目录           0  2018-07-07 11:00  FaceRecognition\FaceRecognition\x64\
     目录           0  2018-07-07 10:50  FaceRecognition\FaceRecognition\x64\Debug\
     文件          36  2018-07-07 10:50  FaceRecognition\FaceRecognition\x64\Debug\FaceRecognition.log
     目录           0  2018-07-07 10:50  FaceRecognition\FaceRecognition\x64\Debug\FaceRecognition.tlog\
     文件         212  2018-07-07 10:50  FaceRecognition\FaceRecognition\x64\Debug\FaceRecognition.tlog\FaceRecognition.write.1u.tlog
     文件         131  2018-07-07 10:50  FaceRecognition\FaceRecognition\x64\Debug\qt.log
............此处省略60个文件信息

评论

共有 条评论