资源简介
基于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个文件信息
相关资源
- C++GUI QT4 高清版 155MB
- mfcDll工程+qt工程.rar
- C++ Qt设计模式第2版(中英文版)+源码
- C++.GUI.Qt.4编程(第二版)
- C++(qt)游戏实战项目:坦克大战(源
- Qt5.9C++开发指南 源码 资源.zip
- Qt5.9 c++开发指南.part1.rar
- C++GUI QT4编程PDF+源码
- c++&qt;视频会议软件源码
- C++ Qt设计模式第2版高清PDF 带书签
- C++编程思想两卷合订本.pdf 电子书(完
- seetaface开源人脸识别
- VS2019编译完成的paho.mqtt.cpp库
- 基于QT5开发漂亮的串口调试助手源码
- qt c++ 开发的俄罗斯方块
- opmapcontrol 一个开源的基于qt的2d地图库
- QTQTabWidget文字垂直显示Demo源码
- C++传递自定义类型作为参数到Qml
- QtQuick实现的涂鸦板
- qt 滑屏翻页效果C++程序
- c++ qt 静态函数中发信号
- linux下QT调用讯飞sdk
- C++、QT学习记录
- QT编写的计算器小程序
- 基于Qt的学生报账系统
- Qt计算器实现
- 基于Qt的图形显示蚁群算法求解TSP问题
- log4qt qt 日志
- 在Qt中用C++编写的计算器程序
- 基于qt的心电监护软件系统设计
评论
共有 条评论