资源简介
基于qt+opencv的人脸识别代码,输入人脸、训练、识别人脸
代码片段和文件信息
#include “dialogin.h“
#include “ui_dialogin.h“
Dialogin::Dialogin(QWidget *parent) :
QDialog(parent)
ui(new Ui::Dialogin)
{
ui->setupUi(this);
i=0;
capture = NULL;
capture = cvCaptureFromCAM(0);
cvSetCaptureProperty(capture CV_CAP_PROP_frame_WIDTH 640);
cvSetCaptureProperty(capture CV_CAP_PROP_frame_HEIGHT 480);
setWindowFlags(windowFlags()&~ Qt::WindowCloseButtonHint);
//gimage =NULL;
// connect(this SIGNAL(getimage(const QImage &image)) this SLOT(showimage(const QImage &image)));
timer = new QTimer(this);
timer->setInterval(50);
connect(timer SIGNAL(timeout()) this SLOT(showimage()));
timer->start();
}
Dialogin::~Dialogin()
{
delete ui;
}
void Dialogin::Sleep(int msec)
{
QTime dieTime = QTime::currentTime().addMSecs(msec);
while( QTime::currentTime() < dieTime )
QCoreApplication::processEvents(QEventLoop::AllEvents 100);
}
void Dialogin::on_pushButton_photo_clicked()
{
// qDebug() << ui->pushButton_photo->text() << endl;
if(ui->lineEdit_name->text() == NULL)
{
QMessageBox::warning(thistr(“错误“)tr(“请输入姓名“)QMessageBox::Ok);
}
else
{
if(capture == NULL)
{
QMessageBox::warning(this tr(“警告!!!“) tr(“摄像头打不开!!!!“) QMessageBox::Abort);
return;
}
QDir *path = new QDir;
bool exist = path->exists(QDir::currentPath() + “/TEMP“);
if(!exist)
{
bool ok = path->mkdir(QDir::currentPath() + “/TEMP“);
if(ok)
{
QMessageBox::warning(thistr(“创建文件夹“)tr(“文件夹创建成功!“));
}
}
QString temp = QDir::currentPath() + “/TEMP/%d.jpg“;
char * path_src;
QByteArray ba= temp.toLatin1();
path_src = ba.data();
frame = cvQueryframe( capture );
std::string filename = cv::format(path_src i);
ui->pushButton_photo->setText(QString::number(i+110));
imwrite(filename frame);
i++;
}
}
void Dialogin::on_pushButton_start_photo_clicked()
{
QMessageBox *startbox = new QMessageBox(QMessageBox::Warning “信息““开始取样请稍后!!!“QMessageBox::NoButtonthis);
startbox->show();
Sleep(1000);
QFile user(QDir::currentPath() + “/usr.txt“);
if(!user.open(QIODevice::ReadWrite | QIODevice::Text))
{
startbox->close();
qDebug() << user.errorString() < }
qint64 usrlinenum =0;
usrlinenum=1;
while(!user.atEnd())
{
char buf[128];
qint64 c = user.readLine(buf sizeof(buf));
if(c > 0)
{
usrlinenum++;
qDebug() << buf < }
if(c <0 )
{
startbox->close();
QMessageBox::warning(thistr(“文件读取“)tr(“文件读取失败!!!“));
return;
}
}
// qDebu
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-12-17 14:28 face-v1\
文件 7691 2018-12-13 14:22 face-v1\dialogin.cpp
文件 1167 2018-12-13 11:54 face-v1\dialogin.h
文件 2678 2018-12-13 11:53 face-v1\dialogin.ui
文件 1411 2018-12-10 11:59 face-v1\face.pro
文件 18600 2018-12-17 14:28 face-v1\face.pro.user
文件 18628 2018-12-12 17:26 face-v1\face.pro.user.f0a26e1
文件 919871 2014-10-01 15:33 face-v1\haarcascade_frontalface_alt.xm
文件 296 2018-12-17 13:27 face-v1\main.cpp
文件 7702 2018-12-13 16:30 face-v1\mainwindow.cpp
文件 985 2018-12-13 16:21 face-v1\mainwindow.h
文件 3474 2018-12-13 16:21 face-v1\mainwindow.ui
文件 49460 2018-12-13 11:19 face-v1\opencv.jpg
相关资源
- 酒店管理系统基于Qt Creator5)
- vtk QT做的三维地质可视化系统2of2
- Qt局域网聊天软件
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- C 餐厅叫号系统(QT平)
- QT 实现文件下载
- qt图像处理
- 基于OpenCV的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- QT,JPEG解码源代码(已完成)
- Qt 播放音频文件
- Qt 读取16进制的data文件
- opencv环境配置
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- win10 64位下编译的opencv4.5.5库,opencv
- MQTT推送Demo
- 基于Linux、QT的视频监控系统的设计与
- Qt 百度地图 定位
- QT酷炫界面开发指南《QmlBook》
- Ubuntu下操作Excel,qt代码
- Qt图片浏览器 --基于Qt的Graphics View f
- qtnribbon2破解
- Qt软件开发 完整项目代码
- MQTT_3.1protocol_Specific中文版
- 在QT中使用RTP进行视频的采集和传输
- NVIDIAOpticalFlowSDK-79c6cee80a2df9a196f20afd6
评论
共有 条评论