diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/dao/util/ConnectionManager.h b/dao/util/ConnectionManager.h
index 6b2bfa0..7a707be 100644
--- a/dao/util/ConnectionManager.h
+++ b/dao/util/ConnectionManager.h
@@ -4,7 +4,7 @@
#include
#include
#include "utils/id/IdWorker.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
using namespace Jiawa::Core;
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/dao/util/ConnectionManager.h b/dao/util/ConnectionManager.h
index 6b2bfa0..7a707be 100644
--- a/dao/util/ConnectionManager.h
+++ b/dao/util/ConnectionManager.h
@@ -4,7 +4,7 @@
#include
#include
#include "utils/id/IdWorker.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
using namespace Jiawa::Core;
diff --git a/device/CameraPositionController.cpp b/device/CameraPositionController.cpp
index 1b15c13..879f19a 100644
--- a/device/CameraPositionController.cpp
+++ b/device/CameraPositionController.cpp
@@ -58,13 +58,14 @@
emit updateTips(QString("正在识别,请看向镜头"));
emit updateTipsBackgroundColor("#248A53");
+ // 计算并调整镜头的上下位置
int eyeTop = faceRect.y + faceRect.height * 0.35;
int eyeBottom = faceRect.y + faceRect.height * 0.45;
if (eyeTop < 250 || eyeBottom > 350) {
- emit motoControl(faceRect.y + faceRect.height * 0.4);
+// emit motoControl(faceRect.y + faceRect.height * 0.4);
}
- // 位置合适 拍两张虹膜图像进行识别
+ // 位置合适 拍一张虹膜图像进行识别(左右眼不定)
ProMemory::getInstance().irisCam->getOneFaceFrm();
}
}
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/dao/util/ConnectionManager.h b/dao/util/ConnectionManager.h
index 6b2bfa0..7a707be 100644
--- a/dao/util/ConnectionManager.h
+++ b/dao/util/ConnectionManager.h
@@ -4,7 +4,7 @@
#include
#include
#include "utils/id/IdWorker.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
using namespace Jiawa::Core;
diff --git a/device/CameraPositionController.cpp b/device/CameraPositionController.cpp
index 1b15c13..879f19a 100644
--- a/device/CameraPositionController.cpp
+++ b/device/CameraPositionController.cpp
@@ -58,13 +58,14 @@
emit updateTips(QString("正在识别,请看向镜头"));
emit updateTipsBackgroundColor("#248A53");
+ // 计算并调整镜头的上下位置
int eyeTop = faceRect.y + faceRect.height * 0.35;
int eyeBottom = faceRect.y + faceRect.height * 0.45;
if (eyeTop < 250 || eyeBottom > 350) {
- emit motoControl(faceRect.y + faceRect.height * 0.4);
+// emit motoControl(faceRect.y + faceRect.height * 0.4);
}
- // 位置合适 拍两张虹膜图像进行识别
+ // 位置合适 拍一张虹膜图像进行识别(左右眼不定)
ProMemory::getInstance().irisCam->getOneFaceFrm();
}
}
diff --git a/device/FaceCameraController.cpp b/device/FaceCameraController.cpp
index 2a4d7cb..4816527 100644
--- a/device/FaceCameraController.cpp
+++ b/device/FaceCameraController.cpp
@@ -7,10 +7,10 @@
faceCap->set(cv::CAP_PROP_FRAME_WIDTH, SettingConfig::getInstance().FACE_FRAME_WIDTH);
faceCap->set(cv::CAP_PROP_FRAME_HEIGHT, SettingConfig::getInstance().FACE_FRAME_HEIGHT);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
- .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
- .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
- .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
+// .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
+// .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
+// .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
}
FaceCameraController::~FaceCameraController()
@@ -29,7 +29,7 @@
// 启动定时器
TimeCounterUtil::getInstance().faceCapCounter->start(mInterval);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
}
void FaceCameraController::stopTakingPhoto()
@@ -52,7 +52,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
@@ -87,7 +87,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/dao/util/ConnectionManager.h b/dao/util/ConnectionManager.h
index 6b2bfa0..7a707be 100644
--- a/dao/util/ConnectionManager.h
+++ b/dao/util/ConnectionManager.h
@@ -4,7 +4,7 @@
#include
#include
#include "utils/id/IdWorker.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
using namespace Jiawa::Core;
diff --git a/device/CameraPositionController.cpp b/device/CameraPositionController.cpp
index 1b15c13..879f19a 100644
--- a/device/CameraPositionController.cpp
+++ b/device/CameraPositionController.cpp
@@ -58,13 +58,14 @@
emit updateTips(QString("正在识别,请看向镜头"));
emit updateTipsBackgroundColor("#248A53");
+ // 计算并调整镜头的上下位置
int eyeTop = faceRect.y + faceRect.height * 0.35;
int eyeBottom = faceRect.y + faceRect.height * 0.45;
if (eyeTop < 250 || eyeBottom > 350) {
- emit motoControl(faceRect.y + faceRect.height * 0.4);
+// emit motoControl(faceRect.y + faceRect.height * 0.4);
}
- // 位置合适 拍两张虹膜图像进行识别
+ // 位置合适 拍一张虹膜图像进行识别(左右眼不定)
ProMemory::getInstance().irisCam->getOneFaceFrm();
}
}
diff --git a/device/FaceCameraController.cpp b/device/FaceCameraController.cpp
index 2a4d7cb..4816527 100644
--- a/device/FaceCameraController.cpp
+++ b/device/FaceCameraController.cpp
@@ -7,10 +7,10 @@
faceCap->set(cv::CAP_PROP_FRAME_WIDTH, SettingConfig::getInstance().FACE_FRAME_WIDTH);
faceCap->set(cv::CAP_PROP_FRAME_HEIGHT, SettingConfig::getInstance().FACE_FRAME_HEIGHT);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
- .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
- .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
- .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
+// .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
+// .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
+// .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
}
FaceCameraController::~FaceCameraController()
@@ -29,7 +29,7 @@
// 启动定时器
TimeCounterUtil::getInstance().faceCapCounter->start(mInterval);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
}
void FaceCameraController::stopTakingPhoto()
@@ -52,7 +52,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
@@ -87,7 +87,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
diff --git a/device/IrisCameraCapEventHandler.cpp b/device/IrisCameraCapEventHandler.cpp
index d33ade9..0502dda 100644
--- a/device/IrisCameraCapEventHandler.cpp
+++ b/device/IrisCameraCapEventHandler.cpp
@@ -45,7 +45,7 @@
ProMemory::getInstance().pushCasicIris(irisInfo);
- cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
+// cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
} else if (ProMemory::getInstance().widgeFrame == CasicBioRecConst::ADD_PERSON_CAPTURE_IRIS)
{
// 相机拍摄下的图像1280*960, 直接用于算法判断
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/dao/util/ConnectionManager.h b/dao/util/ConnectionManager.h
index 6b2bfa0..7a707be 100644
--- a/dao/util/ConnectionManager.h
+++ b/dao/util/ConnectionManager.h
@@ -4,7 +4,7 @@
#include
#include
#include "utils/id/IdWorker.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
using namespace Jiawa::Core;
diff --git a/device/CameraPositionController.cpp b/device/CameraPositionController.cpp
index 1b15c13..879f19a 100644
--- a/device/CameraPositionController.cpp
+++ b/device/CameraPositionController.cpp
@@ -58,13 +58,14 @@
emit updateTips(QString("正在识别,请看向镜头"));
emit updateTipsBackgroundColor("#248A53");
+ // 计算并调整镜头的上下位置
int eyeTop = faceRect.y + faceRect.height * 0.35;
int eyeBottom = faceRect.y + faceRect.height * 0.45;
if (eyeTop < 250 || eyeBottom > 350) {
- emit motoControl(faceRect.y + faceRect.height * 0.4);
+// emit motoControl(faceRect.y + faceRect.height * 0.4);
}
- // 位置合适 拍两张虹膜图像进行识别
+ // 位置合适 拍一张虹膜图像进行识别(左右眼不定)
ProMemory::getInstance().irisCam->getOneFaceFrm();
}
}
diff --git a/device/FaceCameraController.cpp b/device/FaceCameraController.cpp
index 2a4d7cb..4816527 100644
--- a/device/FaceCameraController.cpp
+++ b/device/FaceCameraController.cpp
@@ -7,10 +7,10 @@
faceCap->set(cv::CAP_PROP_FRAME_WIDTH, SettingConfig::getInstance().FACE_FRAME_WIDTH);
faceCap->set(cv::CAP_PROP_FRAME_HEIGHT, SettingConfig::getInstance().FACE_FRAME_HEIGHT);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
- .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
- .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
- .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
+// .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
+// .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
+// .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
}
FaceCameraController::~FaceCameraController()
@@ -29,7 +29,7 @@
// 启动定时器
TimeCounterUtil::getInstance().faceCapCounter->start(mInterval);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
}
void FaceCameraController::stopTakingPhoto()
@@ -52,7 +52,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
@@ -87,7 +87,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
diff --git a/device/IrisCameraCapEventHandler.cpp b/device/IrisCameraCapEventHandler.cpp
index d33ade9..0502dda 100644
--- a/device/IrisCameraCapEventHandler.cpp
+++ b/device/IrisCameraCapEventHandler.cpp
@@ -45,7 +45,7 @@
ProMemory::getInstance().pushCasicIris(irisInfo);
- cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
+// cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
} else if (ProMemory::getInstance().widgeFrame == CasicBioRecConst::ADD_PERSON_CAPTURE_IRIS)
{
// 相机拍摄下的图像1280*960, 直接用于算法判断
diff --git a/device/IrisCameraController.cpp b/device/IrisCameraController.cpp
index 0b81012..2b8538e 100644
--- a/device/IrisCameraController.cpp
+++ b/device/IrisCameraController.cpp
@@ -55,14 +55,14 @@
// 获取定时器, 绑定定时函数
connect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
}
void IrisCameraController::stopCapture()
{
// 获取定时器, 绑定定时函数
disconnect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
}
void IrisCameraController::getOneFaceFrm()
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/dao/util/ConnectionManager.h b/dao/util/ConnectionManager.h
index 6b2bfa0..7a707be 100644
--- a/dao/util/ConnectionManager.h
+++ b/dao/util/ConnectionManager.h
@@ -4,7 +4,7 @@
#include
#include
#include "utils/id/IdWorker.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
using namespace Jiawa::Core;
diff --git a/device/CameraPositionController.cpp b/device/CameraPositionController.cpp
index 1b15c13..879f19a 100644
--- a/device/CameraPositionController.cpp
+++ b/device/CameraPositionController.cpp
@@ -58,13 +58,14 @@
emit updateTips(QString("正在识别,请看向镜头"));
emit updateTipsBackgroundColor("#248A53");
+ // 计算并调整镜头的上下位置
int eyeTop = faceRect.y + faceRect.height * 0.35;
int eyeBottom = faceRect.y + faceRect.height * 0.45;
if (eyeTop < 250 || eyeBottom > 350) {
- emit motoControl(faceRect.y + faceRect.height * 0.4);
+// emit motoControl(faceRect.y + faceRect.height * 0.4);
}
- // 位置合适 拍两张虹膜图像进行识别
+ // 位置合适 拍一张虹膜图像进行识别(左右眼不定)
ProMemory::getInstance().irisCam->getOneFaceFrm();
}
}
diff --git a/device/FaceCameraController.cpp b/device/FaceCameraController.cpp
index 2a4d7cb..4816527 100644
--- a/device/FaceCameraController.cpp
+++ b/device/FaceCameraController.cpp
@@ -7,10 +7,10 @@
faceCap->set(cv::CAP_PROP_FRAME_WIDTH, SettingConfig::getInstance().FACE_FRAME_WIDTH);
faceCap->set(cv::CAP_PROP_FRAME_HEIGHT, SettingConfig::getInstance().FACE_FRAME_HEIGHT);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
- .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
- .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
- .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
+// .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
+// .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
+// .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
}
FaceCameraController::~FaceCameraController()
@@ -29,7 +29,7 @@
// 启动定时器
TimeCounterUtil::getInstance().faceCapCounter->start(mInterval);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
}
void FaceCameraController::stopTakingPhoto()
@@ -52,7 +52,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
@@ -87,7 +87,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
diff --git a/device/IrisCameraCapEventHandler.cpp b/device/IrisCameraCapEventHandler.cpp
index d33ade9..0502dda 100644
--- a/device/IrisCameraCapEventHandler.cpp
+++ b/device/IrisCameraCapEventHandler.cpp
@@ -45,7 +45,7 @@
ProMemory::getInstance().pushCasicIris(irisInfo);
- cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
+// cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
} else if (ProMemory::getInstance().widgeFrame == CasicBioRecConst::ADD_PERSON_CAPTURE_IRIS)
{
// 相机拍摄下的图像1280*960, 直接用于算法判断
diff --git a/device/IrisCameraController.cpp b/device/IrisCameraController.cpp
index 0b81012..2b8538e 100644
--- a/device/IrisCameraController.cpp
+++ b/device/IrisCameraController.cpp
@@ -55,14 +55,14 @@
// 获取定时器, 绑定定时函数
connect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
}
void IrisCameraController::stopCapture()
{
// 获取定时器, 绑定定时函数
disconnect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
}
void IrisCameraController::getOneFaceFrm()
diff --git a/device/MotoController.cpp b/device/MotoController.cpp
index ca61c02..af053d3 100644
--- a/device/MotoController.cpp
+++ b/device/MotoController.cpp
@@ -26,15 +26,14 @@
bool succ = serial.open(QIODevice::ReadWrite);
//连接信号和槽
-
- LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
+// LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
return succ;
}
void MotoController::sendDataAutoEnding(QByteArray data)
{
- LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
+// LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
// 加上0x0D 0x0A换行结束
data.append(0x0D).append(0x0A);
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/dao/util/ConnectionManager.h b/dao/util/ConnectionManager.h
index 6b2bfa0..7a707be 100644
--- a/dao/util/ConnectionManager.h
+++ b/dao/util/ConnectionManager.h
@@ -4,7 +4,7 @@
#include
#include
#include "utils/id/IdWorker.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
using namespace Jiawa::Core;
diff --git a/device/CameraPositionController.cpp b/device/CameraPositionController.cpp
index 1b15c13..879f19a 100644
--- a/device/CameraPositionController.cpp
+++ b/device/CameraPositionController.cpp
@@ -58,13 +58,14 @@
emit updateTips(QString("正在识别,请看向镜头"));
emit updateTipsBackgroundColor("#248A53");
+ // 计算并调整镜头的上下位置
int eyeTop = faceRect.y + faceRect.height * 0.35;
int eyeBottom = faceRect.y + faceRect.height * 0.45;
if (eyeTop < 250 || eyeBottom > 350) {
- emit motoControl(faceRect.y + faceRect.height * 0.4);
+// emit motoControl(faceRect.y + faceRect.height * 0.4);
}
- // 位置合适 拍两张虹膜图像进行识别
+ // 位置合适 拍一张虹膜图像进行识别(左右眼不定)
ProMemory::getInstance().irisCam->getOneFaceFrm();
}
}
diff --git a/device/FaceCameraController.cpp b/device/FaceCameraController.cpp
index 2a4d7cb..4816527 100644
--- a/device/FaceCameraController.cpp
+++ b/device/FaceCameraController.cpp
@@ -7,10 +7,10 @@
faceCap->set(cv::CAP_PROP_FRAME_WIDTH, SettingConfig::getInstance().FACE_FRAME_WIDTH);
faceCap->set(cv::CAP_PROP_FRAME_HEIGHT, SettingConfig::getInstance().FACE_FRAME_HEIGHT);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
- .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
- .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
- .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
+// .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
+// .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
+// .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
}
FaceCameraController::~FaceCameraController()
@@ -29,7 +29,7 @@
// 启动定时器
TimeCounterUtil::getInstance().faceCapCounter->start(mInterval);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
}
void FaceCameraController::stopTakingPhoto()
@@ -52,7 +52,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
@@ -87,7 +87,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
diff --git a/device/IrisCameraCapEventHandler.cpp b/device/IrisCameraCapEventHandler.cpp
index d33ade9..0502dda 100644
--- a/device/IrisCameraCapEventHandler.cpp
+++ b/device/IrisCameraCapEventHandler.cpp
@@ -45,7 +45,7 @@
ProMemory::getInstance().pushCasicIris(irisInfo);
- cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
+// cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
} else if (ProMemory::getInstance().widgeFrame == CasicBioRecConst::ADD_PERSON_CAPTURE_IRIS)
{
// 相机拍摄下的图像1280*960, 直接用于算法判断
diff --git a/device/IrisCameraController.cpp b/device/IrisCameraController.cpp
index 0b81012..2b8538e 100644
--- a/device/IrisCameraController.cpp
+++ b/device/IrisCameraController.cpp
@@ -55,14 +55,14 @@
// 获取定时器, 绑定定时函数
connect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
}
void IrisCameraController::stopCapture()
{
// 获取定时器, 绑定定时函数
disconnect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
}
void IrisCameraController::getOneFaceFrm()
diff --git a/device/MotoController.cpp b/device/MotoController.cpp
index ca61c02..af053d3 100644
--- a/device/MotoController.cpp
+++ b/device/MotoController.cpp
@@ -26,15 +26,14 @@
bool succ = serial.open(QIODevice::ReadWrite);
//连接信号和槽
-
- LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
+// LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
return succ;
}
void MotoController::sendDataAutoEnding(QByteArray data)
{
- LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
+// LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
// 加上0x0D 0x0A换行结束
data.append(0x0D).append(0x0A);
diff --git a/device/face/CasicFaceRecState.cpp b/device/face/CasicFaceRecState.cpp
index 7415a86..8fd822f 100644
--- a/device/face/CasicFaceRecState.cpp
+++ b/device/face/CasicFaceRecState.cpp
@@ -16,7 +16,7 @@
this->tryCount = 0;
this->noFaceCount = 0;
- LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
// 开始识别
this->state = FaceRecStateName::REC_DETECT;
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/dao/util/ConnectionManager.h b/dao/util/ConnectionManager.h
index 6b2bfa0..7a707be 100644
--- a/dao/util/ConnectionManager.h
+++ b/dao/util/ConnectionManager.h
@@ -4,7 +4,7 @@
#include
#include
#include "utils/id/IdWorker.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
using namespace Jiawa::Core;
diff --git a/device/CameraPositionController.cpp b/device/CameraPositionController.cpp
index 1b15c13..879f19a 100644
--- a/device/CameraPositionController.cpp
+++ b/device/CameraPositionController.cpp
@@ -58,13 +58,14 @@
emit updateTips(QString("正在识别,请看向镜头"));
emit updateTipsBackgroundColor("#248A53");
+ // 计算并调整镜头的上下位置
int eyeTop = faceRect.y + faceRect.height * 0.35;
int eyeBottom = faceRect.y + faceRect.height * 0.45;
if (eyeTop < 250 || eyeBottom > 350) {
- emit motoControl(faceRect.y + faceRect.height * 0.4);
+// emit motoControl(faceRect.y + faceRect.height * 0.4);
}
- // 位置合适 拍两张虹膜图像进行识别
+ // 位置合适 拍一张虹膜图像进行识别(左右眼不定)
ProMemory::getInstance().irisCam->getOneFaceFrm();
}
}
diff --git a/device/FaceCameraController.cpp b/device/FaceCameraController.cpp
index 2a4d7cb..4816527 100644
--- a/device/FaceCameraController.cpp
+++ b/device/FaceCameraController.cpp
@@ -7,10 +7,10 @@
faceCap->set(cv::CAP_PROP_FRAME_WIDTH, SettingConfig::getInstance().FACE_FRAME_WIDTH);
faceCap->set(cv::CAP_PROP_FRAME_HEIGHT, SettingConfig::getInstance().FACE_FRAME_HEIGHT);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
- .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
- .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
- .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
+// .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
+// .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
+// .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
}
FaceCameraController::~FaceCameraController()
@@ -29,7 +29,7 @@
// 启动定时器
TimeCounterUtil::getInstance().faceCapCounter->start(mInterval);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
}
void FaceCameraController::stopTakingPhoto()
@@ -52,7 +52,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
@@ -87,7 +87,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
diff --git a/device/IrisCameraCapEventHandler.cpp b/device/IrisCameraCapEventHandler.cpp
index d33ade9..0502dda 100644
--- a/device/IrisCameraCapEventHandler.cpp
+++ b/device/IrisCameraCapEventHandler.cpp
@@ -45,7 +45,7 @@
ProMemory::getInstance().pushCasicIris(irisInfo);
- cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
+// cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
} else if (ProMemory::getInstance().widgeFrame == CasicBioRecConst::ADD_PERSON_CAPTURE_IRIS)
{
// 相机拍摄下的图像1280*960, 直接用于算法判断
diff --git a/device/IrisCameraController.cpp b/device/IrisCameraController.cpp
index 0b81012..2b8538e 100644
--- a/device/IrisCameraController.cpp
+++ b/device/IrisCameraController.cpp
@@ -55,14 +55,14 @@
// 获取定时器, 绑定定时函数
connect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
}
void IrisCameraController::stopCapture()
{
// 获取定时器, 绑定定时函数
disconnect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
}
void IrisCameraController::getOneFaceFrm()
diff --git a/device/MotoController.cpp b/device/MotoController.cpp
index ca61c02..af053d3 100644
--- a/device/MotoController.cpp
+++ b/device/MotoController.cpp
@@ -26,15 +26,14 @@
bool succ = serial.open(QIODevice::ReadWrite);
//连接信号和槽
-
- LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
+// LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
return succ;
}
void MotoController::sendDataAutoEnding(QByteArray data)
{
- LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
+// LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
// 加上0x0D 0x0A换行结束
data.append(0x0D).append(0x0A);
diff --git a/device/face/CasicFaceRecState.cpp b/device/face/CasicFaceRecState.cpp
index 7415a86..8fd822f 100644
--- a/device/face/CasicFaceRecState.cpp
+++ b/device/face/CasicFaceRecState.cpp
@@ -16,7 +16,7 @@
this->tryCount = 0;
this->noFaceCount = 0;
- LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
// 开始识别
this->state = FaceRecStateName::REC_DETECT;
diff --git a/device/face/FaceRecogProcess.cpp b/device/face/FaceRecogProcess.cpp
index d83cdeb..962d251 100644
--- a/device/face/FaceRecogProcess.cpp
+++ b/device/face/FaceRecogProcess.cpp
@@ -27,7 +27,7 @@
void FaceRecogProcess::addOneTryCount()
{
- LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
if (CasicFaceRecState::getInstance().tryCount < SettingConfig::getInstance().MAX_FACE_TRY_COUNT)
{
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
@@ -70,7 +70,7 @@
if (ProMemory::getInstance().isFaceQueueEmpty() == true)
{
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
@@ -79,7 +79,7 @@
// 识别状态不等于未开始, 表示已经进入识别程序了, 后续不再执行, 等待本次识别过程结束
if (CasicFaceRecState::getInstance().state != CasicFaceRecState::FaceRecStateName::REC_NOT_START)
{
- LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -95,7 +95,7 @@
{
// 表示本次识别结束, 可以开始下一次识别过程
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有多调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -117,7 +117,7 @@
if (faceInfo.antiStatus != seeta::FaceAntiSpoofing::Status::REAL)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -134,7 +134,7 @@
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_FEATURE_EXTRACT;
CasicFaceRecState::getInstance().faceInfo = &faceInfo;
- LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 特征值提取成功的人脸 与人脸库中的人脸进行比较
compareFaceInCollection();
@@ -160,7 +160,7 @@
float sim = casic::face::CasicFaceInterface::getInstance().faceSimCalculate(CasicFaceRecState::getInstance().faceInfo->feature, ffArr);
- LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
+// LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
if (sim > 0.62)
{
CasicFaceRecState::getInstance().faceInfo->sim = sim;
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/dao/util/ConnectionManager.h b/dao/util/ConnectionManager.h
index 6b2bfa0..7a707be 100644
--- a/dao/util/ConnectionManager.h
+++ b/dao/util/ConnectionManager.h
@@ -4,7 +4,7 @@
#include
#include
#include "utils/id/IdWorker.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
using namespace Jiawa::Core;
diff --git a/device/CameraPositionController.cpp b/device/CameraPositionController.cpp
index 1b15c13..879f19a 100644
--- a/device/CameraPositionController.cpp
+++ b/device/CameraPositionController.cpp
@@ -58,13 +58,14 @@
emit updateTips(QString("正在识别,请看向镜头"));
emit updateTipsBackgroundColor("#248A53");
+ // 计算并调整镜头的上下位置
int eyeTop = faceRect.y + faceRect.height * 0.35;
int eyeBottom = faceRect.y + faceRect.height * 0.45;
if (eyeTop < 250 || eyeBottom > 350) {
- emit motoControl(faceRect.y + faceRect.height * 0.4);
+// emit motoControl(faceRect.y + faceRect.height * 0.4);
}
- // 位置合适 拍两张虹膜图像进行识别
+ // 位置合适 拍一张虹膜图像进行识别(左右眼不定)
ProMemory::getInstance().irisCam->getOneFaceFrm();
}
}
diff --git a/device/FaceCameraController.cpp b/device/FaceCameraController.cpp
index 2a4d7cb..4816527 100644
--- a/device/FaceCameraController.cpp
+++ b/device/FaceCameraController.cpp
@@ -7,10 +7,10 @@
faceCap->set(cv::CAP_PROP_FRAME_WIDTH, SettingConfig::getInstance().FACE_FRAME_WIDTH);
faceCap->set(cv::CAP_PROP_FRAME_HEIGHT, SettingConfig::getInstance().FACE_FRAME_HEIGHT);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
- .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
- .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
- .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
+// .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
+// .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
+// .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
}
FaceCameraController::~FaceCameraController()
@@ -29,7 +29,7 @@
// 启动定时器
TimeCounterUtil::getInstance().faceCapCounter->start(mInterval);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
}
void FaceCameraController::stopTakingPhoto()
@@ -52,7 +52,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
@@ -87,7 +87,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
diff --git a/device/IrisCameraCapEventHandler.cpp b/device/IrisCameraCapEventHandler.cpp
index d33ade9..0502dda 100644
--- a/device/IrisCameraCapEventHandler.cpp
+++ b/device/IrisCameraCapEventHandler.cpp
@@ -45,7 +45,7 @@
ProMemory::getInstance().pushCasicIris(irisInfo);
- cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
+// cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
} else if (ProMemory::getInstance().widgeFrame == CasicBioRecConst::ADD_PERSON_CAPTURE_IRIS)
{
// 相机拍摄下的图像1280*960, 直接用于算法判断
diff --git a/device/IrisCameraController.cpp b/device/IrisCameraController.cpp
index 0b81012..2b8538e 100644
--- a/device/IrisCameraController.cpp
+++ b/device/IrisCameraController.cpp
@@ -55,14 +55,14 @@
// 获取定时器, 绑定定时函数
connect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
}
void IrisCameraController::stopCapture()
{
// 获取定时器, 绑定定时函数
disconnect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
}
void IrisCameraController::getOneFaceFrm()
diff --git a/device/MotoController.cpp b/device/MotoController.cpp
index ca61c02..af053d3 100644
--- a/device/MotoController.cpp
+++ b/device/MotoController.cpp
@@ -26,15 +26,14 @@
bool succ = serial.open(QIODevice::ReadWrite);
//连接信号和槽
-
- LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
+// LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
return succ;
}
void MotoController::sendDataAutoEnding(QByteArray data)
{
- LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
+// LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
// 加上0x0D 0x0A换行结束
data.append(0x0D).append(0x0A);
diff --git a/device/face/CasicFaceRecState.cpp b/device/face/CasicFaceRecState.cpp
index 7415a86..8fd822f 100644
--- a/device/face/CasicFaceRecState.cpp
+++ b/device/face/CasicFaceRecState.cpp
@@ -16,7 +16,7 @@
this->tryCount = 0;
this->noFaceCount = 0;
- LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
// 开始识别
this->state = FaceRecStateName::REC_DETECT;
diff --git a/device/face/FaceRecogProcess.cpp b/device/face/FaceRecogProcess.cpp
index d83cdeb..962d251 100644
--- a/device/face/FaceRecogProcess.cpp
+++ b/device/face/FaceRecogProcess.cpp
@@ -27,7 +27,7 @@
void FaceRecogProcess::addOneTryCount()
{
- LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
if (CasicFaceRecState::getInstance().tryCount < SettingConfig::getInstance().MAX_FACE_TRY_COUNT)
{
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
@@ -70,7 +70,7 @@
if (ProMemory::getInstance().isFaceQueueEmpty() == true)
{
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
@@ -79,7 +79,7 @@
// 识别状态不等于未开始, 表示已经进入识别程序了, 后续不再执行, 等待本次识别过程结束
if (CasicFaceRecState::getInstance().state != CasicFaceRecState::FaceRecStateName::REC_NOT_START)
{
- LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -95,7 +95,7 @@
{
// 表示本次识别结束, 可以开始下一次识别过程
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有多调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -117,7 +117,7 @@
if (faceInfo.antiStatus != seeta::FaceAntiSpoofing::Status::REAL)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -134,7 +134,7 @@
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_FEATURE_EXTRACT;
CasicFaceRecState::getInstance().faceInfo = &faceInfo;
- LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 特征值提取成功的人脸 与人脸库中的人脸进行比较
compareFaceInCollection();
@@ -160,7 +160,7 @@
float sim = casic::face::CasicFaceInterface::getInstance().faceSimCalculate(CasicFaceRecState::getInstance().faceInfo->feature, ffArr);
- LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
+// LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
if (sim > 0.62)
{
CasicFaceRecState::getInstance().faceInfo->sim = sim;
diff --git a/device/face/FaceRegistProcess.cpp b/device/face/FaceRegistProcess.cpp
index 235b855..77e91f3 100644
--- a/device/face/FaceRegistProcess.cpp
+++ b/device/face/FaceRegistProcess.cpp
@@ -22,7 +22,7 @@
void FaceRegistProcess::addOneTryCount()
{
- LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
if (CasicFaceRecState::getInstance().tryCount < SettingConfig::getInstance().MAX_FACE_TRY_COUNT)
{
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
@@ -63,7 +63,7 @@
if (ProMemory::getInstance().isFaceQueueEmpty() == true)
{
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(TRACE) << QString("[CasicFaceRegistThread][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(TRACE) << QString("[CasicFaceRegistThread][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
@@ -72,7 +72,7 @@
// 识别状态不等于未开始, 表示已经进入识别程序了, 后续不再执行, 等待本次识别过程结束
if (CasicFaceRecState::getInstance().state != CasicFaceRecState::FaceRecStateName::REC_NOT_START)
{
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -88,7 +88,7 @@
{
// 表示本次识别结束, 可以开始下一次识别过程
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有多调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -110,7 +110,7 @@
if (faceInfo.antiStatus != seeta::FaceAntiSpoofing::Status::REAL)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -127,7 +127,7 @@
if (faceInfo.quality.level != seeta::QualityLevel::HIGH)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸质量评估未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸质量评估未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -154,7 +154,7 @@
tempImg.save(&buf, "bmp");
CasicFaceRecState::getInstance().imgBase64 = ba.toBase64();
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
this->setWorking(false);
// 特征值提取成功的人脸 与人脸库中的人脸进行比较
@@ -187,7 +187,7 @@
float sim = casic::face::CasicFaceInterface::getInstance().faceSimCalculate(CasicFaceRecState::getInstance().faceInfo->feature, ffArr);
- LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
+// LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
if (sim > 0.62)
{
CasicFaceRecState::getInstance().faceInfo->sim = sim;
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/dao/util/ConnectionManager.h b/dao/util/ConnectionManager.h
index 6b2bfa0..7a707be 100644
--- a/dao/util/ConnectionManager.h
+++ b/dao/util/ConnectionManager.h
@@ -4,7 +4,7 @@
#include
#include
#include "utils/id/IdWorker.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
using namespace Jiawa::Core;
diff --git a/device/CameraPositionController.cpp b/device/CameraPositionController.cpp
index 1b15c13..879f19a 100644
--- a/device/CameraPositionController.cpp
+++ b/device/CameraPositionController.cpp
@@ -58,13 +58,14 @@
emit updateTips(QString("正在识别,请看向镜头"));
emit updateTipsBackgroundColor("#248A53");
+ // 计算并调整镜头的上下位置
int eyeTop = faceRect.y + faceRect.height * 0.35;
int eyeBottom = faceRect.y + faceRect.height * 0.45;
if (eyeTop < 250 || eyeBottom > 350) {
- emit motoControl(faceRect.y + faceRect.height * 0.4);
+// emit motoControl(faceRect.y + faceRect.height * 0.4);
}
- // 位置合适 拍两张虹膜图像进行识别
+ // 位置合适 拍一张虹膜图像进行识别(左右眼不定)
ProMemory::getInstance().irisCam->getOneFaceFrm();
}
}
diff --git a/device/FaceCameraController.cpp b/device/FaceCameraController.cpp
index 2a4d7cb..4816527 100644
--- a/device/FaceCameraController.cpp
+++ b/device/FaceCameraController.cpp
@@ -7,10 +7,10 @@
faceCap->set(cv::CAP_PROP_FRAME_WIDTH, SettingConfig::getInstance().FACE_FRAME_WIDTH);
faceCap->set(cv::CAP_PROP_FRAME_HEIGHT, SettingConfig::getInstance().FACE_FRAME_HEIGHT);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
- .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
- .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
- .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
+// .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
+// .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
+// .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
}
FaceCameraController::~FaceCameraController()
@@ -29,7 +29,7 @@
// 启动定时器
TimeCounterUtil::getInstance().faceCapCounter->start(mInterval);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
}
void FaceCameraController::stopTakingPhoto()
@@ -52,7 +52,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
@@ -87,7 +87,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
diff --git a/device/IrisCameraCapEventHandler.cpp b/device/IrisCameraCapEventHandler.cpp
index d33ade9..0502dda 100644
--- a/device/IrisCameraCapEventHandler.cpp
+++ b/device/IrisCameraCapEventHandler.cpp
@@ -45,7 +45,7 @@
ProMemory::getInstance().pushCasicIris(irisInfo);
- cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
+// cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
} else if (ProMemory::getInstance().widgeFrame == CasicBioRecConst::ADD_PERSON_CAPTURE_IRIS)
{
// 相机拍摄下的图像1280*960, 直接用于算法判断
diff --git a/device/IrisCameraController.cpp b/device/IrisCameraController.cpp
index 0b81012..2b8538e 100644
--- a/device/IrisCameraController.cpp
+++ b/device/IrisCameraController.cpp
@@ -55,14 +55,14 @@
// 获取定时器, 绑定定时函数
connect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
}
void IrisCameraController::stopCapture()
{
// 获取定时器, 绑定定时函数
disconnect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
}
void IrisCameraController::getOneFaceFrm()
diff --git a/device/MotoController.cpp b/device/MotoController.cpp
index ca61c02..af053d3 100644
--- a/device/MotoController.cpp
+++ b/device/MotoController.cpp
@@ -26,15 +26,14 @@
bool succ = serial.open(QIODevice::ReadWrite);
//连接信号和槽
-
- LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
+// LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
return succ;
}
void MotoController::sendDataAutoEnding(QByteArray data)
{
- LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
+// LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
// 加上0x0D 0x0A换行结束
data.append(0x0D).append(0x0A);
diff --git a/device/face/CasicFaceRecState.cpp b/device/face/CasicFaceRecState.cpp
index 7415a86..8fd822f 100644
--- a/device/face/CasicFaceRecState.cpp
+++ b/device/face/CasicFaceRecState.cpp
@@ -16,7 +16,7 @@
this->tryCount = 0;
this->noFaceCount = 0;
- LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
// 开始识别
this->state = FaceRecStateName::REC_DETECT;
diff --git a/device/face/FaceRecogProcess.cpp b/device/face/FaceRecogProcess.cpp
index d83cdeb..962d251 100644
--- a/device/face/FaceRecogProcess.cpp
+++ b/device/face/FaceRecogProcess.cpp
@@ -27,7 +27,7 @@
void FaceRecogProcess::addOneTryCount()
{
- LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
if (CasicFaceRecState::getInstance().tryCount < SettingConfig::getInstance().MAX_FACE_TRY_COUNT)
{
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
@@ -70,7 +70,7 @@
if (ProMemory::getInstance().isFaceQueueEmpty() == true)
{
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
@@ -79,7 +79,7 @@
// 识别状态不等于未开始, 表示已经进入识别程序了, 后续不再执行, 等待本次识别过程结束
if (CasicFaceRecState::getInstance().state != CasicFaceRecState::FaceRecStateName::REC_NOT_START)
{
- LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -95,7 +95,7 @@
{
// 表示本次识别结束, 可以开始下一次识别过程
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有多调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -117,7 +117,7 @@
if (faceInfo.antiStatus != seeta::FaceAntiSpoofing::Status::REAL)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -134,7 +134,7 @@
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_FEATURE_EXTRACT;
CasicFaceRecState::getInstance().faceInfo = &faceInfo;
- LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 特征值提取成功的人脸 与人脸库中的人脸进行比较
compareFaceInCollection();
@@ -160,7 +160,7 @@
float sim = casic::face::CasicFaceInterface::getInstance().faceSimCalculate(CasicFaceRecState::getInstance().faceInfo->feature, ffArr);
- LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
+// LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
if (sim > 0.62)
{
CasicFaceRecState::getInstance().faceInfo->sim = sim;
diff --git a/device/face/FaceRegistProcess.cpp b/device/face/FaceRegistProcess.cpp
index 235b855..77e91f3 100644
--- a/device/face/FaceRegistProcess.cpp
+++ b/device/face/FaceRegistProcess.cpp
@@ -22,7 +22,7 @@
void FaceRegistProcess::addOneTryCount()
{
- LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
if (CasicFaceRecState::getInstance().tryCount < SettingConfig::getInstance().MAX_FACE_TRY_COUNT)
{
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
@@ -63,7 +63,7 @@
if (ProMemory::getInstance().isFaceQueueEmpty() == true)
{
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(TRACE) << QString("[CasicFaceRegistThread][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(TRACE) << QString("[CasicFaceRegistThread][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
@@ -72,7 +72,7 @@
// 识别状态不等于未开始, 表示已经进入识别程序了, 后续不再执行, 等待本次识别过程结束
if (CasicFaceRecState::getInstance().state != CasicFaceRecState::FaceRecStateName::REC_NOT_START)
{
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -88,7 +88,7 @@
{
// 表示本次识别结束, 可以开始下一次识别过程
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有多调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -110,7 +110,7 @@
if (faceInfo.antiStatus != seeta::FaceAntiSpoofing::Status::REAL)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -127,7 +127,7 @@
if (faceInfo.quality.level != seeta::QualityLevel::HIGH)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸质量评估未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸质量评估未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -154,7 +154,7 @@
tempImg.save(&buf, "bmp");
CasicFaceRecState::getInstance().imgBase64 = ba.toBase64();
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
this->setWorking(false);
// 特征值提取成功的人脸 与人脸库中的人脸进行比较
@@ -187,7 +187,7 @@
float sim = casic::face::CasicFaceInterface::getInstance().faceSimCalculate(CasicFaceRecState::getInstance().faceInfo->feature, ffArr);
- LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
+// LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
if (sim > 0.62)
{
CasicFaceRecState::getInstance().faceInfo->sim = sim;
diff --git a/device/iris/CasicIrisRecState.cpp b/device/iris/CasicIrisRecState.cpp
index d6d01e1..4edfdb1 100644
--- a/device/iris/CasicIrisRecState.cpp
+++ b/device/iris/CasicIrisRecState.cpp
@@ -24,7 +24,7 @@
this->tryCount = 0;
this->noEyeCount = 0;
- LOG(DEBUG) << QString("[CasicIrisRecState][initRecognize] 虹膜识别状态初始化").toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRecState][initRecognize] 虹膜识别状态初始化").toStdString();
}
QString CasicIrisRecState::toString()
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/dao/util/ConnectionManager.h b/dao/util/ConnectionManager.h
index 6b2bfa0..7a707be 100644
--- a/dao/util/ConnectionManager.h
+++ b/dao/util/ConnectionManager.h
@@ -4,7 +4,7 @@
#include
#include
#include "utils/id/IdWorker.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
using namespace Jiawa::Core;
diff --git a/device/CameraPositionController.cpp b/device/CameraPositionController.cpp
index 1b15c13..879f19a 100644
--- a/device/CameraPositionController.cpp
+++ b/device/CameraPositionController.cpp
@@ -58,13 +58,14 @@
emit updateTips(QString("正在识别,请看向镜头"));
emit updateTipsBackgroundColor("#248A53");
+ // 计算并调整镜头的上下位置
int eyeTop = faceRect.y + faceRect.height * 0.35;
int eyeBottom = faceRect.y + faceRect.height * 0.45;
if (eyeTop < 250 || eyeBottom > 350) {
- emit motoControl(faceRect.y + faceRect.height * 0.4);
+// emit motoControl(faceRect.y + faceRect.height * 0.4);
}
- // 位置合适 拍两张虹膜图像进行识别
+ // 位置合适 拍一张虹膜图像进行识别(左右眼不定)
ProMemory::getInstance().irisCam->getOneFaceFrm();
}
}
diff --git a/device/FaceCameraController.cpp b/device/FaceCameraController.cpp
index 2a4d7cb..4816527 100644
--- a/device/FaceCameraController.cpp
+++ b/device/FaceCameraController.cpp
@@ -7,10 +7,10 @@
faceCap->set(cv::CAP_PROP_FRAME_WIDTH, SettingConfig::getInstance().FACE_FRAME_WIDTH);
faceCap->set(cv::CAP_PROP_FRAME_HEIGHT, SettingConfig::getInstance().FACE_FRAME_HEIGHT);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
- .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
- .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
- .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
+// .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
+// .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
+// .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
}
FaceCameraController::~FaceCameraController()
@@ -29,7 +29,7 @@
// 启动定时器
TimeCounterUtil::getInstance().faceCapCounter->start(mInterval);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
}
void FaceCameraController::stopTakingPhoto()
@@ -52,7 +52,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
@@ -87,7 +87,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
diff --git a/device/IrisCameraCapEventHandler.cpp b/device/IrisCameraCapEventHandler.cpp
index d33ade9..0502dda 100644
--- a/device/IrisCameraCapEventHandler.cpp
+++ b/device/IrisCameraCapEventHandler.cpp
@@ -45,7 +45,7 @@
ProMemory::getInstance().pushCasicIris(irisInfo);
- cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
+// cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
} else if (ProMemory::getInstance().widgeFrame == CasicBioRecConst::ADD_PERSON_CAPTURE_IRIS)
{
// 相机拍摄下的图像1280*960, 直接用于算法判断
diff --git a/device/IrisCameraController.cpp b/device/IrisCameraController.cpp
index 0b81012..2b8538e 100644
--- a/device/IrisCameraController.cpp
+++ b/device/IrisCameraController.cpp
@@ -55,14 +55,14 @@
// 获取定时器, 绑定定时函数
connect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
}
void IrisCameraController::stopCapture()
{
// 获取定时器, 绑定定时函数
disconnect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
}
void IrisCameraController::getOneFaceFrm()
diff --git a/device/MotoController.cpp b/device/MotoController.cpp
index ca61c02..af053d3 100644
--- a/device/MotoController.cpp
+++ b/device/MotoController.cpp
@@ -26,15 +26,14 @@
bool succ = serial.open(QIODevice::ReadWrite);
//连接信号和槽
-
- LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
+// LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
return succ;
}
void MotoController::sendDataAutoEnding(QByteArray data)
{
- LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
+// LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
// 加上0x0D 0x0A换行结束
data.append(0x0D).append(0x0A);
diff --git a/device/face/CasicFaceRecState.cpp b/device/face/CasicFaceRecState.cpp
index 7415a86..8fd822f 100644
--- a/device/face/CasicFaceRecState.cpp
+++ b/device/face/CasicFaceRecState.cpp
@@ -16,7 +16,7 @@
this->tryCount = 0;
this->noFaceCount = 0;
- LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
// 开始识别
this->state = FaceRecStateName::REC_DETECT;
diff --git a/device/face/FaceRecogProcess.cpp b/device/face/FaceRecogProcess.cpp
index d83cdeb..962d251 100644
--- a/device/face/FaceRecogProcess.cpp
+++ b/device/face/FaceRecogProcess.cpp
@@ -27,7 +27,7 @@
void FaceRecogProcess::addOneTryCount()
{
- LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
if (CasicFaceRecState::getInstance().tryCount < SettingConfig::getInstance().MAX_FACE_TRY_COUNT)
{
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
@@ -70,7 +70,7 @@
if (ProMemory::getInstance().isFaceQueueEmpty() == true)
{
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
@@ -79,7 +79,7 @@
// 识别状态不等于未开始, 表示已经进入识别程序了, 后续不再执行, 等待本次识别过程结束
if (CasicFaceRecState::getInstance().state != CasicFaceRecState::FaceRecStateName::REC_NOT_START)
{
- LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -95,7 +95,7 @@
{
// 表示本次识别结束, 可以开始下一次识别过程
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有多调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -117,7 +117,7 @@
if (faceInfo.antiStatus != seeta::FaceAntiSpoofing::Status::REAL)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -134,7 +134,7 @@
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_FEATURE_EXTRACT;
CasicFaceRecState::getInstance().faceInfo = &faceInfo;
- LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 特征值提取成功的人脸 与人脸库中的人脸进行比较
compareFaceInCollection();
@@ -160,7 +160,7 @@
float sim = casic::face::CasicFaceInterface::getInstance().faceSimCalculate(CasicFaceRecState::getInstance().faceInfo->feature, ffArr);
- LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
+// LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
if (sim > 0.62)
{
CasicFaceRecState::getInstance().faceInfo->sim = sim;
diff --git a/device/face/FaceRegistProcess.cpp b/device/face/FaceRegistProcess.cpp
index 235b855..77e91f3 100644
--- a/device/face/FaceRegistProcess.cpp
+++ b/device/face/FaceRegistProcess.cpp
@@ -22,7 +22,7 @@
void FaceRegistProcess::addOneTryCount()
{
- LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
if (CasicFaceRecState::getInstance().tryCount < SettingConfig::getInstance().MAX_FACE_TRY_COUNT)
{
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
@@ -63,7 +63,7 @@
if (ProMemory::getInstance().isFaceQueueEmpty() == true)
{
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(TRACE) << QString("[CasicFaceRegistThread][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(TRACE) << QString("[CasicFaceRegistThread][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
@@ -72,7 +72,7 @@
// 识别状态不等于未开始, 表示已经进入识别程序了, 后续不再执行, 等待本次识别过程结束
if (CasicFaceRecState::getInstance().state != CasicFaceRecState::FaceRecStateName::REC_NOT_START)
{
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -88,7 +88,7 @@
{
// 表示本次识别结束, 可以开始下一次识别过程
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有多调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -110,7 +110,7 @@
if (faceInfo.antiStatus != seeta::FaceAntiSpoofing::Status::REAL)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -127,7 +127,7 @@
if (faceInfo.quality.level != seeta::QualityLevel::HIGH)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸质量评估未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸质量评估未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -154,7 +154,7 @@
tempImg.save(&buf, "bmp");
CasicFaceRecState::getInstance().imgBase64 = ba.toBase64();
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
this->setWorking(false);
// 特征值提取成功的人脸 与人脸库中的人脸进行比较
@@ -187,7 +187,7 @@
float sim = casic::face::CasicFaceInterface::getInstance().faceSimCalculate(CasicFaceRecState::getInstance().faceInfo->feature, ffArr);
- LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
+// LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
if (sim > 0.62)
{
CasicFaceRecState::getInstance().faceInfo->sim = sim;
diff --git a/device/iris/CasicIrisRecState.cpp b/device/iris/CasicIrisRecState.cpp
index d6d01e1..4edfdb1 100644
--- a/device/iris/CasicIrisRecState.cpp
+++ b/device/iris/CasicIrisRecState.cpp
@@ -24,7 +24,7 @@
this->tryCount = 0;
this->noEyeCount = 0;
- LOG(DEBUG) << QString("[CasicIrisRecState][initRecognize] 虹膜识别状态初始化").toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRecState][initRecognize] 虹膜识别状态初始化").toStdString();
}
QString CasicIrisRecState::toString()
diff --git a/device/iris/IrisRecogProcess.cpp b/device/iris/IrisRecogProcess.cpp
index a25eb87..d843c51 100644
--- a/device/iris/IrisRecogProcess.cpp
+++ b/device/iris/IrisRecogProcess.cpp
@@ -42,7 +42,7 @@
// 图像栈中没有图像则直接返回
if (ProMemory::getInstance().isIrisQueueEmpty() == true)
{
- LOG(DEBUG) << QString("[IrisRecogProcess] 虹膜图像栈空, 暂停200ms").toStdString();
+// LOG(TRACE) << QString("[IrisRecogProcess] 虹膜图像栈空, 暂停200ms").toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -55,12 +55,12 @@
// this->msleep(200); // 200ms后再判断
// continue;
// }
- LOG(DEBUG) << QString("[IrisRecogProcess]准备取出虹膜图像[%1]").arg(ProMemory::getInstance().isIrisQueueEmpty()).toStdString();
+// LOG(TRACE) << QString("[IrisRecogProcess] 准备取出虹膜图像[%1]").arg(ProMemory::getInstance().isIrisQueueEmpty()).toStdString();
// 取出虹膜图像栈中的一条数据
CasicIrisInfo irisInfo = ProMemory::getInstance().popCasicIris();
- LOG(DEBUG) << QString("[IrisRecogProcess]取出虹膜图像").toStdString();
+// LOG(DEBUG) << QString("[IrisRecogProcess] 取出虹膜图像").toStdString();
// 调用找眼分类器算法
casic::iris::CasicIrisInterface::getInstance().setMinEyeSize(360);
@@ -70,14 +70,14 @@
if (irisInfo.hasEye == false)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[IrisRecogProcess] 分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
+// LOG(DEBUG) << QString("[IrisRecogProcess] 分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
addOneNoEyeCount();
this->msleep(200); // 200ms后再判断
continue;
}
- LOG(DEBUG) << QString("[IrisRecogProcess]找到眼睛调用远程算法进行识别").toStdString();
+// LOG(DEBUG) << QString("[IrisRecogProcess] 找到眼睛调用远程算法进行识别").toStdString();
// 找到眼睛则开始质量评估和编码
// 调用远程算法进行编码
@@ -107,15 +107,15 @@
// 状态修改为特征提取
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_FEATURE_EXTRACT;
- QTimer toTimer;
+ //QTimer toTimer;
QEventLoop loop;
- toTimer.singleShot(3000, &loop, &QEventLoop::quit);
+ //toTimer.singleShot(3000, &loop, &QEventLoop::quit);
connect(clientUtil, &SocketClientUtil::responseReaded, &loop, &QEventLoop::quit);
loop.exec();
QByteArray matchResponse = clientUtil->getResponse();
- LOG(INFO) << QString("算法匹配结果").toStdString() << matchResponse.toStdString();
+// LOG(INFO) << QString("算法匹配结果").toStdString() << matchResponse.toStdString();
// 算法调用返回成功
if (matchResponse.size() > 0)
@@ -128,10 +128,10 @@
QString personId = messList.at(1);
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_SEARCH_SUCC;
- LOG(INFO) << QString("匹配成功[tm: %1 ms][id: %2]").arg(timer.elapsed()).arg(personId).toStdString();
+// LOG(INFO) << QString("匹配成功[tm: %1 ms][id: %2]").arg(timer.elapsed()).arg(personId).toStdString();
// 保存图像文件
- cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
+// cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_NOT_START;
emit findMatchedIris(personId, 2);
@@ -139,14 +139,14 @@
} else if (code.toInt() == -200)
{
// 匹配失败
- LOG(INFO) << QString("匹配失败: ").toStdString() << matchResponse.toStdString();
+// LOG(INFO) << QString("匹配失败: ").toStdString() << matchResponse.toStdString();
// 匹配失败则尝试次数+1
addOneTryCount();
} else if (code.toInt() == -100)
{
// 编码失败
- LOG(INFO) << QString("编码失败: ").toStdString() << matchResponse.toStdString();
+// LOG(INFO) << QString("编码失败: ").toStdString() << matchResponse.toStdString();
// 编码失败则尝试次数+1
addOneTryCount();
@@ -169,7 +169,7 @@
void IrisRecogProcess::addOneTryCount()
{
CasicIrisRecState::getInstance().tryCount++;
- LOG(DEBUG) << QString("[CasicIrisRecogProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRecogProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_NOT_START;
if (CasicIrisRecState::getInstance().tryCount >= SettingConfig::getInstance().MAX_IRIS_TRY_COUNT)
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/dao/util/ConnectionManager.h b/dao/util/ConnectionManager.h
index 6b2bfa0..7a707be 100644
--- a/dao/util/ConnectionManager.h
+++ b/dao/util/ConnectionManager.h
@@ -4,7 +4,7 @@
#include
#include
#include "utils/id/IdWorker.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
using namespace Jiawa::Core;
diff --git a/device/CameraPositionController.cpp b/device/CameraPositionController.cpp
index 1b15c13..879f19a 100644
--- a/device/CameraPositionController.cpp
+++ b/device/CameraPositionController.cpp
@@ -58,13 +58,14 @@
emit updateTips(QString("正在识别,请看向镜头"));
emit updateTipsBackgroundColor("#248A53");
+ // 计算并调整镜头的上下位置
int eyeTop = faceRect.y + faceRect.height * 0.35;
int eyeBottom = faceRect.y + faceRect.height * 0.45;
if (eyeTop < 250 || eyeBottom > 350) {
- emit motoControl(faceRect.y + faceRect.height * 0.4);
+// emit motoControl(faceRect.y + faceRect.height * 0.4);
}
- // 位置合适 拍两张虹膜图像进行识别
+ // 位置合适 拍一张虹膜图像进行识别(左右眼不定)
ProMemory::getInstance().irisCam->getOneFaceFrm();
}
}
diff --git a/device/FaceCameraController.cpp b/device/FaceCameraController.cpp
index 2a4d7cb..4816527 100644
--- a/device/FaceCameraController.cpp
+++ b/device/FaceCameraController.cpp
@@ -7,10 +7,10 @@
faceCap->set(cv::CAP_PROP_FRAME_WIDTH, SettingConfig::getInstance().FACE_FRAME_WIDTH);
faceCap->set(cv::CAP_PROP_FRAME_HEIGHT, SettingConfig::getInstance().FACE_FRAME_HEIGHT);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
- .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
- .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
- .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
+// .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
+// .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
+// .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
}
FaceCameraController::~FaceCameraController()
@@ -29,7 +29,7 @@
// 启动定时器
TimeCounterUtil::getInstance().faceCapCounter->start(mInterval);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
}
void FaceCameraController::stopTakingPhoto()
@@ -52,7 +52,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
@@ -87,7 +87,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
diff --git a/device/IrisCameraCapEventHandler.cpp b/device/IrisCameraCapEventHandler.cpp
index d33ade9..0502dda 100644
--- a/device/IrisCameraCapEventHandler.cpp
+++ b/device/IrisCameraCapEventHandler.cpp
@@ -45,7 +45,7 @@
ProMemory::getInstance().pushCasicIris(irisInfo);
- cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
+// cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
} else if (ProMemory::getInstance().widgeFrame == CasicBioRecConst::ADD_PERSON_CAPTURE_IRIS)
{
// 相机拍摄下的图像1280*960, 直接用于算法判断
diff --git a/device/IrisCameraController.cpp b/device/IrisCameraController.cpp
index 0b81012..2b8538e 100644
--- a/device/IrisCameraController.cpp
+++ b/device/IrisCameraController.cpp
@@ -55,14 +55,14 @@
// 获取定时器, 绑定定时函数
connect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
}
void IrisCameraController::stopCapture()
{
// 获取定时器, 绑定定时函数
disconnect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
}
void IrisCameraController::getOneFaceFrm()
diff --git a/device/MotoController.cpp b/device/MotoController.cpp
index ca61c02..af053d3 100644
--- a/device/MotoController.cpp
+++ b/device/MotoController.cpp
@@ -26,15 +26,14 @@
bool succ = serial.open(QIODevice::ReadWrite);
//连接信号和槽
-
- LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
+// LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
return succ;
}
void MotoController::sendDataAutoEnding(QByteArray data)
{
- LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
+// LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
// 加上0x0D 0x0A换行结束
data.append(0x0D).append(0x0A);
diff --git a/device/face/CasicFaceRecState.cpp b/device/face/CasicFaceRecState.cpp
index 7415a86..8fd822f 100644
--- a/device/face/CasicFaceRecState.cpp
+++ b/device/face/CasicFaceRecState.cpp
@@ -16,7 +16,7 @@
this->tryCount = 0;
this->noFaceCount = 0;
- LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
// 开始识别
this->state = FaceRecStateName::REC_DETECT;
diff --git a/device/face/FaceRecogProcess.cpp b/device/face/FaceRecogProcess.cpp
index d83cdeb..962d251 100644
--- a/device/face/FaceRecogProcess.cpp
+++ b/device/face/FaceRecogProcess.cpp
@@ -27,7 +27,7 @@
void FaceRecogProcess::addOneTryCount()
{
- LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
if (CasicFaceRecState::getInstance().tryCount < SettingConfig::getInstance().MAX_FACE_TRY_COUNT)
{
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
@@ -70,7 +70,7 @@
if (ProMemory::getInstance().isFaceQueueEmpty() == true)
{
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
@@ -79,7 +79,7 @@
// 识别状态不等于未开始, 表示已经进入识别程序了, 后续不再执行, 等待本次识别过程结束
if (CasicFaceRecState::getInstance().state != CasicFaceRecState::FaceRecStateName::REC_NOT_START)
{
- LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -95,7 +95,7 @@
{
// 表示本次识别结束, 可以开始下一次识别过程
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有多调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -117,7 +117,7 @@
if (faceInfo.antiStatus != seeta::FaceAntiSpoofing::Status::REAL)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -134,7 +134,7 @@
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_FEATURE_EXTRACT;
CasicFaceRecState::getInstance().faceInfo = &faceInfo;
- LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 特征值提取成功的人脸 与人脸库中的人脸进行比较
compareFaceInCollection();
@@ -160,7 +160,7 @@
float sim = casic::face::CasicFaceInterface::getInstance().faceSimCalculate(CasicFaceRecState::getInstance().faceInfo->feature, ffArr);
- LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
+// LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
if (sim > 0.62)
{
CasicFaceRecState::getInstance().faceInfo->sim = sim;
diff --git a/device/face/FaceRegistProcess.cpp b/device/face/FaceRegistProcess.cpp
index 235b855..77e91f3 100644
--- a/device/face/FaceRegistProcess.cpp
+++ b/device/face/FaceRegistProcess.cpp
@@ -22,7 +22,7 @@
void FaceRegistProcess::addOneTryCount()
{
- LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
if (CasicFaceRecState::getInstance().tryCount < SettingConfig::getInstance().MAX_FACE_TRY_COUNT)
{
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
@@ -63,7 +63,7 @@
if (ProMemory::getInstance().isFaceQueueEmpty() == true)
{
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(TRACE) << QString("[CasicFaceRegistThread][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(TRACE) << QString("[CasicFaceRegistThread][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
@@ -72,7 +72,7 @@
// 识别状态不等于未开始, 表示已经进入识别程序了, 后续不再执行, 等待本次识别过程结束
if (CasicFaceRecState::getInstance().state != CasicFaceRecState::FaceRecStateName::REC_NOT_START)
{
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -88,7 +88,7 @@
{
// 表示本次识别结束, 可以开始下一次识别过程
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有多调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -110,7 +110,7 @@
if (faceInfo.antiStatus != seeta::FaceAntiSpoofing::Status::REAL)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -127,7 +127,7 @@
if (faceInfo.quality.level != seeta::QualityLevel::HIGH)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸质量评估未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸质量评估未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -154,7 +154,7 @@
tempImg.save(&buf, "bmp");
CasicFaceRecState::getInstance().imgBase64 = ba.toBase64();
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
this->setWorking(false);
// 特征值提取成功的人脸 与人脸库中的人脸进行比较
@@ -187,7 +187,7 @@
float sim = casic::face::CasicFaceInterface::getInstance().faceSimCalculate(CasicFaceRecState::getInstance().faceInfo->feature, ffArr);
- LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
+// LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
if (sim > 0.62)
{
CasicFaceRecState::getInstance().faceInfo->sim = sim;
diff --git a/device/iris/CasicIrisRecState.cpp b/device/iris/CasicIrisRecState.cpp
index d6d01e1..4edfdb1 100644
--- a/device/iris/CasicIrisRecState.cpp
+++ b/device/iris/CasicIrisRecState.cpp
@@ -24,7 +24,7 @@
this->tryCount = 0;
this->noEyeCount = 0;
- LOG(DEBUG) << QString("[CasicIrisRecState][initRecognize] 虹膜识别状态初始化").toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRecState][initRecognize] 虹膜识别状态初始化").toStdString();
}
QString CasicIrisRecState::toString()
diff --git a/device/iris/IrisRecogProcess.cpp b/device/iris/IrisRecogProcess.cpp
index a25eb87..d843c51 100644
--- a/device/iris/IrisRecogProcess.cpp
+++ b/device/iris/IrisRecogProcess.cpp
@@ -42,7 +42,7 @@
// 图像栈中没有图像则直接返回
if (ProMemory::getInstance().isIrisQueueEmpty() == true)
{
- LOG(DEBUG) << QString("[IrisRecogProcess] 虹膜图像栈空, 暂停200ms").toStdString();
+// LOG(TRACE) << QString("[IrisRecogProcess] 虹膜图像栈空, 暂停200ms").toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -55,12 +55,12 @@
// this->msleep(200); // 200ms后再判断
// continue;
// }
- LOG(DEBUG) << QString("[IrisRecogProcess]准备取出虹膜图像[%1]").arg(ProMemory::getInstance().isIrisQueueEmpty()).toStdString();
+// LOG(TRACE) << QString("[IrisRecogProcess] 准备取出虹膜图像[%1]").arg(ProMemory::getInstance().isIrisQueueEmpty()).toStdString();
// 取出虹膜图像栈中的一条数据
CasicIrisInfo irisInfo = ProMemory::getInstance().popCasicIris();
- LOG(DEBUG) << QString("[IrisRecogProcess]取出虹膜图像").toStdString();
+// LOG(DEBUG) << QString("[IrisRecogProcess] 取出虹膜图像").toStdString();
// 调用找眼分类器算法
casic::iris::CasicIrisInterface::getInstance().setMinEyeSize(360);
@@ -70,14 +70,14 @@
if (irisInfo.hasEye == false)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[IrisRecogProcess] 分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
+// LOG(DEBUG) << QString("[IrisRecogProcess] 分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
addOneNoEyeCount();
this->msleep(200); // 200ms后再判断
continue;
}
- LOG(DEBUG) << QString("[IrisRecogProcess]找到眼睛调用远程算法进行识别").toStdString();
+// LOG(DEBUG) << QString("[IrisRecogProcess] 找到眼睛调用远程算法进行识别").toStdString();
// 找到眼睛则开始质量评估和编码
// 调用远程算法进行编码
@@ -107,15 +107,15 @@
// 状态修改为特征提取
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_FEATURE_EXTRACT;
- QTimer toTimer;
+ //QTimer toTimer;
QEventLoop loop;
- toTimer.singleShot(3000, &loop, &QEventLoop::quit);
+ //toTimer.singleShot(3000, &loop, &QEventLoop::quit);
connect(clientUtil, &SocketClientUtil::responseReaded, &loop, &QEventLoop::quit);
loop.exec();
QByteArray matchResponse = clientUtil->getResponse();
- LOG(INFO) << QString("算法匹配结果").toStdString() << matchResponse.toStdString();
+// LOG(INFO) << QString("算法匹配结果").toStdString() << matchResponse.toStdString();
// 算法调用返回成功
if (matchResponse.size() > 0)
@@ -128,10 +128,10 @@
QString personId = messList.at(1);
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_SEARCH_SUCC;
- LOG(INFO) << QString("匹配成功[tm: %1 ms][id: %2]").arg(timer.elapsed()).arg(personId).toStdString();
+// LOG(INFO) << QString("匹配成功[tm: %1 ms][id: %2]").arg(timer.elapsed()).arg(personId).toStdString();
// 保存图像文件
- cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
+// cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_NOT_START;
emit findMatchedIris(personId, 2);
@@ -139,14 +139,14 @@
} else if (code.toInt() == -200)
{
// 匹配失败
- LOG(INFO) << QString("匹配失败: ").toStdString() << matchResponse.toStdString();
+// LOG(INFO) << QString("匹配失败: ").toStdString() << matchResponse.toStdString();
// 匹配失败则尝试次数+1
addOneTryCount();
} else if (code.toInt() == -100)
{
// 编码失败
- LOG(INFO) << QString("编码失败: ").toStdString() << matchResponse.toStdString();
+// LOG(INFO) << QString("编码失败: ").toStdString() << matchResponse.toStdString();
// 编码失败则尝试次数+1
addOneTryCount();
@@ -169,7 +169,7 @@
void IrisRecogProcess::addOneTryCount()
{
CasicIrisRecState::getInstance().tryCount++;
- LOG(DEBUG) << QString("[CasicIrisRecogProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRecogProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_NOT_START;
if (CasicIrisRecState::getInstance().tryCount >= SettingConfig::getInstance().MAX_IRIS_TRY_COUNT)
diff --git a/device/iris/IrisRegistProcess.cpp b/device/iris/IrisRegistProcess.cpp
index 7696cf3..d04ced9 100644
--- a/device/iris/IrisRegistProcess.cpp
+++ b/device/iris/IrisRegistProcess.cpp
@@ -30,7 +30,7 @@
void IrisRegistProcess::addOneTryCount()
{
CasicIrisRecState::getInstance().tryCount++;
- LOG(DEBUG) << QString("[CasicIrisRegistProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
if (CasicIrisRecState::getInstance().tryCount >= SettingConfig::getInstance().MAX_IRIS_TRY_COUNT)
{
@@ -65,26 +65,26 @@
// 图像栈中没有图像则直接返回
if (ProMemory::getInstance().isIrisQueueEmpty() == true)
{
- LOG(DEBUG) << QString("[CasicIrisRegistThread]虹膜图像栈空 暂停200ms").toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]虹膜图像栈空 暂停200ms").toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
// 取出一幅图像
CasicIrisInfo irisInfo = ProMemory::getInstance().popCasicIris();
- LOG(DEBUG) << QString("[CasicIrisRegistThread]取出一幅虹膜图").toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]取出一幅虹膜图").toStdString();
if (CasicIrisRecState::getInstance().state == CasicIrisRecState::IrisRecStateName::REC_LEFT_FIND_EYE &&
irisInfo.leftOrRight == "left")
{
// 左眼已经编码成功则不再判断左眼
- LOG(DEBUG) << QString("[CasicIrisRegistThread]左眼已经编码成功则不再判断左眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]左眼已经编码成功则不再判断左眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
this->msleep(200); // 200ms后再判断
continue;
} else if (CasicIrisRecState::getInstance().state == CasicIrisRecState::IrisRecStateName::REC_RIGHT_FIND_EYE &&
irisInfo.leftOrRight == "right"){
// 右眼已经编码成功则不再判断右眼
- LOG(DEBUG) << QString("[CasicIrisRegistThread]右眼已经编码成功则不再判断右眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]右眼已经编码成功则不再判断右眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -96,7 +96,7 @@
if (irisInfo.hasEye == false)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicIrisRegistThread]分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
addOneNoEyeCount();
// 双眼都要注册, 没找到眼不重置状态
@@ -106,7 +106,7 @@
// 找到眼睛则暂停线程工作
ProMemory::getInstance().irisRegistPro->setWorking(false);
- LOG(DEBUG) << QString("找到眼睛暂停线程工作").toStdString();
+// LOG(DEBUG) << QString("找到眼睛暂停线程工作").toStdString();
// 找到眼睛则开始质量评估和编码
// 调用远程算法进行编码
@@ -146,10 +146,10 @@
// 编码成功
if (encodeResponse.size() == 1024)
{
- LOG(DEBUG) << QString("虹膜特征值提取[耗时%1ms][%2]").arg(timer.elapsed()).arg(irisInfo.leftOrRight).toStdString();
+// LOG(DEBUG) << QString("虹膜特征值提取[耗时%1ms][%2]").arg(timer.elapsed()).arg(irisInfo.leftOrRight).toStdString();
// 保存图像文件
- cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
+// cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
CasicIrisRecState::getInstance().irisInfo->irisCode = encodeResponse;
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/dao/util/ConnectionManager.h b/dao/util/ConnectionManager.h
index 6b2bfa0..7a707be 100644
--- a/dao/util/ConnectionManager.h
+++ b/dao/util/ConnectionManager.h
@@ -4,7 +4,7 @@
#include
#include
#include "utils/id/IdWorker.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
using namespace Jiawa::Core;
diff --git a/device/CameraPositionController.cpp b/device/CameraPositionController.cpp
index 1b15c13..879f19a 100644
--- a/device/CameraPositionController.cpp
+++ b/device/CameraPositionController.cpp
@@ -58,13 +58,14 @@
emit updateTips(QString("正在识别,请看向镜头"));
emit updateTipsBackgroundColor("#248A53");
+ // 计算并调整镜头的上下位置
int eyeTop = faceRect.y + faceRect.height * 0.35;
int eyeBottom = faceRect.y + faceRect.height * 0.45;
if (eyeTop < 250 || eyeBottom > 350) {
- emit motoControl(faceRect.y + faceRect.height * 0.4);
+// emit motoControl(faceRect.y + faceRect.height * 0.4);
}
- // 位置合适 拍两张虹膜图像进行识别
+ // 位置合适 拍一张虹膜图像进行识别(左右眼不定)
ProMemory::getInstance().irisCam->getOneFaceFrm();
}
}
diff --git a/device/FaceCameraController.cpp b/device/FaceCameraController.cpp
index 2a4d7cb..4816527 100644
--- a/device/FaceCameraController.cpp
+++ b/device/FaceCameraController.cpp
@@ -7,10 +7,10 @@
faceCap->set(cv::CAP_PROP_FRAME_WIDTH, SettingConfig::getInstance().FACE_FRAME_WIDTH);
faceCap->set(cv::CAP_PROP_FRAME_HEIGHT, SettingConfig::getInstance().FACE_FRAME_HEIGHT);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
- .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
- .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
- .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
+// .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
+// .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
+// .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
}
FaceCameraController::~FaceCameraController()
@@ -29,7 +29,7 @@
// 启动定时器
TimeCounterUtil::getInstance().faceCapCounter->start(mInterval);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
}
void FaceCameraController::stopTakingPhoto()
@@ -52,7 +52,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
@@ -87,7 +87,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
diff --git a/device/IrisCameraCapEventHandler.cpp b/device/IrisCameraCapEventHandler.cpp
index d33ade9..0502dda 100644
--- a/device/IrisCameraCapEventHandler.cpp
+++ b/device/IrisCameraCapEventHandler.cpp
@@ -45,7 +45,7 @@
ProMemory::getInstance().pushCasicIris(irisInfo);
- cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
+// cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
} else if (ProMemory::getInstance().widgeFrame == CasicBioRecConst::ADD_PERSON_CAPTURE_IRIS)
{
// 相机拍摄下的图像1280*960, 直接用于算法判断
diff --git a/device/IrisCameraController.cpp b/device/IrisCameraController.cpp
index 0b81012..2b8538e 100644
--- a/device/IrisCameraController.cpp
+++ b/device/IrisCameraController.cpp
@@ -55,14 +55,14 @@
// 获取定时器, 绑定定时函数
connect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
}
void IrisCameraController::stopCapture()
{
// 获取定时器, 绑定定时函数
disconnect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
}
void IrisCameraController::getOneFaceFrm()
diff --git a/device/MotoController.cpp b/device/MotoController.cpp
index ca61c02..af053d3 100644
--- a/device/MotoController.cpp
+++ b/device/MotoController.cpp
@@ -26,15 +26,14 @@
bool succ = serial.open(QIODevice::ReadWrite);
//连接信号和槽
-
- LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
+// LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
return succ;
}
void MotoController::sendDataAutoEnding(QByteArray data)
{
- LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
+// LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
// 加上0x0D 0x0A换行结束
data.append(0x0D).append(0x0A);
diff --git a/device/face/CasicFaceRecState.cpp b/device/face/CasicFaceRecState.cpp
index 7415a86..8fd822f 100644
--- a/device/face/CasicFaceRecState.cpp
+++ b/device/face/CasicFaceRecState.cpp
@@ -16,7 +16,7 @@
this->tryCount = 0;
this->noFaceCount = 0;
- LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
// 开始识别
this->state = FaceRecStateName::REC_DETECT;
diff --git a/device/face/FaceRecogProcess.cpp b/device/face/FaceRecogProcess.cpp
index d83cdeb..962d251 100644
--- a/device/face/FaceRecogProcess.cpp
+++ b/device/face/FaceRecogProcess.cpp
@@ -27,7 +27,7 @@
void FaceRecogProcess::addOneTryCount()
{
- LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
if (CasicFaceRecState::getInstance().tryCount < SettingConfig::getInstance().MAX_FACE_TRY_COUNT)
{
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
@@ -70,7 +70,7 @@
if (ProMemory::getInstance().isFaceQueueEmpty() == true)
{
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
@@ -79,7 +79,7 @@
// 识别状态不等于未开始, 表示已经进入识别程序了, 后续不再执行, 等待本次识别过程结束
if (CasicFaceRecState::getInstance().state != CasicFaceRecState::FaceRecStateName::REC_NOT_START)
{
- LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -95,7 +95,7 @@
{
// 表示本次识别结束, 可以开始下一次识别过程
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有多调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -117,7 +117,7 @@
if (faceInfo.antiStatus != seeta::FaceAntiSpoofing::Status::REAL)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -134,7 +134,7 @@
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_FEATURE_EXTRACT;
CasicFaceRecState::getInstance().faceInfo = &faceInfo;
- LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 特征值提取成功的人脸 与人脸库中的人脸进行比较
compareFaceInCollection();
@@ -160,7 +160,7 @@
float sim = casic::face::CasicFaceInterface::getInstance().faceSimCalculate(CasicFaceRecState::getInstance().faceInfo->feature, ffArr);
- LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
+// LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
if (sim > 0.62)
{
CasicFaceRecState::getInstance().faceInfo->sim = sim;
diff --git a/device/face/FaceRegistProcess.cpp b/device/face/FaceRegistProcess.cpp
index 235b855..77e91f3 100644
--- a/device/face/FaceRegistProcess.cpp
+++ b/device/face/FaceRegistProcess.cpp
@@ -22,7 +22,7 @@
void FaceRegistProcess::addOneTryCount()
{
- LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
if (CasicFaceRecState::getInstance().tryCount < SettingConfig::getInstance().MAX_FACE_TRY_COUNT)
{
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
@@ -63,7 +63,7 @@
if (ProMemory::getInstance().isFaceQueueEmpty() == true)
{
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(TRACE) << QString("[CasicFaceRegistThread][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(TRACE) << QString("[CasicFaceRegistThread][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
@@ -72,7 +72,7 @@
// 识别状态不等于未开始, 表示已经进入识别程序了, 后续不再执行, 等待本次识别过程结束
if (CasicFaceRecState::getInstance().state != CasicFaceRecState::FaceRecStateName::REC_NOT_START)
{
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -88,7 +88,7 @@
{
// 表示本次识别结束, 可以开始下一次识别过程
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有多调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -110,7 +110,7 @@
if (faceInfo.antiStatus != seeta::FaceAntiSpoofing::Status::REAL)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -127,7 +127,7 @@
if (faceInfo.quality.level != seeta::QualityLevel::HIGH)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸质量评估未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸质量评估未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -154,7 +154,7 @@
tempImg.save(&buf, "bmp");
CasicFaceRecState::getInstance().imgBase64 = ba.toBase64();
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
this->setWorking(false);
// 特征值提取成功的人脸 与人脸库中的人脸进行比较
@@ -187,7 +187,7 @@
float sim = casic::face::CasicFaceInterface::getInstance().faceSimCalculate(CasicFaceRecState::getInstance().faceInfo->feature, ffArr);
- LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
+// LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
if (sim > 0.62)
{
CasicFaceRecState::getInstance().faceInfo->sim = sim;
diff --git a/device/iris/CasicIrisRecState.cpp b/device/iris/CasicIrisRecState.cpp
index d6d01e1..4edfdb1 100644
--- a/device/iris/CasicIrisRecState.cpp
+++ b/device/iris/CasicIrisRecState.cpp
@@ -24,7 +24,7 @@
this->tryCount = 0;
this->noEyeCount = 0;
- LOG(DEBUG) << QString("[CasicIrisRecState][initRecognize] 虹膜识别状态初始化").toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRecState][initRecognize] 虹膜识别状态初始化").toStdString();
}
QString CasicIrisRecState::toString()
diff --git a/device/iris/IrisRecogProcess.cpp b/device/iris/IrisRecogProcess.cpp
index a25eb87..d843c51 100644
--- a/device/iris/IrisRecogProcess.cpp
+++ b/device/iris/IrisRecogProcess.cpp
@@ -42,7 +42,7 @@
// 图像栈中没有图像则直接返回
if (ProMemory::getInstance().isIrisQueueEmpty() == true)
{
- LOG(DEBUG) << QString("[IrisRecogProcess] 虹膜图像栈空, 暂停200ms").toStdString();
+// LOG(TRACE) << QString("[IrisRecogProcess] 虹膜图像栈空, 暂停200ms").toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -55,12 +55,12 @@
// this->msleep(200); // 200ms后再判断
// continue;
// }
- LOG(DEBUG) << QString("[IrisRecogProcess]准备取出虹膜图像[%1]").arg(ProMemory::getInstance().isIrisQueueEmpty()).toStdString();
+// LOG(TRACE) << QString("[IrisRecogProcess] 准备取出虹膜图像[%1]").arg(ProMemory::getInstance().isIrisQueueEmpty()).toStdString();
// 取出虹膜图像栈中的一条数据
CasicIrisInfo irisInfo = ProMemory::getInstance().popCasicIris();
- LOG(DEBUG) << QString("[IrisRecogProcess]取出虹膜图像").toStdString();
+// LOG(DEBUG) << QString("[IrisRecogProcess] 取出虹膜图像").toStdString();
// 调用找眼分类器算法
casic::iris::CasicIrisInterface::getInstance().setMinEyeSize(360);
@@ -70,14 +70,14 @@
if (irisInfo.hasEye == false)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[IrisRecogProcess] 分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
+// LOG(DEBUG) << QString("[IrisRecogProcess] 分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
addOneNoEyeCount();
this->msleep(200); // 200ms后再判断
continue;
}
- LOG(DEBUG) << QString("[IrisRecogProcess]找到眼睛调用远程算法进行识别").toStdString();
+// LOG(DEBUG) << QString("[IrisRecogProcess] 找到眼睛调用远程算法进行识别").toStdString();
// 找到眼睛则开始质量评估和编码
// 调用远程算法进行编码
@@ -107,15 +107,15 @@
// 状态修改为特征提取
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_FEATURE_EXTRACT;
- QTimer toTimer;
+ //QTimer toTimer;
QEventLoop loop;
- toTimer.singleShot(3000, &loop, &QEventLoop::quit);
+ //toTimer.singleShot(3000, &loop, &QEventLoop::quit);
connect(clientUtil, &SocketClientUtil::responseReaded, &loop, &QEventLoop::quit);
loop.exec();
QByteArray matchResponse = clientUtil->getResponse();
- LOG(INFO) << QString("算法匹配结果").toStdString() << matchResponse.toStdString();
+// LOG(INFO) << QString("算法匹配结果").toStdString() << matchResponse.toStdString();
// 算法调用返回成功
if (matchResponse.size() > 0)
@@ -128,10 +128,10 @@
QString personId = messList.at(1);
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_SEARCH_SUCC;
- LOG(INFO) << QString("匹配成功[tm: %1 ms][id: %2]").arg(timer.elapsed()).arg(personId).toStdString();
+// LOG(INFO) << QString("匹配成功[tm: %1 ms][id: %2]").arg(timer.elapsed()).arg(personId).toStdString();
// 保存图像文件
- cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
+// cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_NOT_START;
emit findMatchedIris(personId, 2);
@@ -139,14 +139,14 @@
} else if (code.toInt() == -200)
{
// 匹配失败
- LOG(INFO) << QString("匹配失败: ").toStdString() << matchResponse.toStdString();
+// LOG(INFO) << QString("匹配失败: ").toStdString() << matchResponse.toStdString();
// 匹配失败则尝试次数+1
addOneTryCount();
} else if (code.toInt() == -100)
{
// 编码失败
- LOG(INFO) << QString("编码失败: ").toStdString() << matchResponse.toStdString();
+// LOG(INFO) << QString("编码失败: ").toStdString() << matchResponse.toStdString();
// 编码失败则尝试次数+1
addOneTryCount();
@@ -169,7 +169,7 @@
void IrisRecogProcess::addOneTryCount()
{
CasicIrisRecState::getInstance().tryCount++;
- LOG(DEBUG) << QString("[CasicIrisRecogProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRecogProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_NOT_START;
if (CasicIrisRecState::getInstance().tryCount >= SettingConfig::getInstance().MAX_IRIS_TRY_COUNT)
diff --git a/device/iris/IrisRegistProcess.cpp b/device/iris/IrisRegistProcess.cpp
index 7696cf3..d04ced9 100644
--- a/device/iris/IrisRegistProcess.cpp
+++ b/device/iris/IrisRegistProcess.cpp
@@ -30,7 +30,7 @@
void IrisRegistProcess::addOneTryCount()
{
CasicIrisRecState::getInstance().tryCount++;
- LOG(DEBUG) << QString("[CasicIrisRegistProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
if (CasicIrisRecState::getInstance().tryCount >= SettingConfig::getInstance().MAX_IRIS_TRY_COUNT)
{
@@ -65,26 +65,26 @@
// 图像栈中没有图像则直接返回
if (ProMemory::getInstance().isIrisQueueEmpty() == true)
{
- LOG(DEBUG) << QString("[CasicIrisRegistThread]虹膜图像栈空 暂停200ms").toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]虹膜图像栈空 暂停200ms").toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
// 取出一幅图像
CasicIrisInfo irisInfo = ProMemory::getInstance().popCasicIris();
- LOG(DEBUG) << QString("[CasicIrisRegistThread]取出一幅虹膜图").toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]取出一幅虹膜图").toStdString();
if (CasicIrisRecState::getInstance().state == CasicIrisRecState::IrisRecStateName::REC_LEFT_FIND_EYE &&
irisInfo.leftOrRight == "left")
{
// 左眼已经编码成功则不再判断左眼
- LOG(DEBUG) << QString("[CasicIrisRegistThread]左眼已经编码成功则不再判断左眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]左眼已经编码成功则不再判断左眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
this->msleep(200); // 200ms后再判断
continue;
} else if (CasicIrisRecState::getInstance().state == CasicIrisRecState::IrisRecStateName::REC_RIGHT_FIND_EYE &&
irisInfo.leftOrRight == "right"){
// 右眼已经编码成功则不再判断右眼
- LOG(DEBUG) << QString("[CasicIrisRegistThread]右眼已经编码成功则不再判断右眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]右眼已经编码成功则不再判断右眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -96,7 +96,7 @@
if (irisInfo.hasEye == false)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicIrisRegistThread]分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
addOneNoEyeCount();
// 双眼都要注册, 没找到眼不重置状态
@@ -106,7 +106,7 @@
// 找到眼睛则暂停线程工作
ProMemory::getInstance().irisRegistPro->setWorking(false);
- LOG(DEBUG) << QString("找到眼睛暂停线程工作").toStdString();
+// LOG(DEBUG) << QString("找到眼睛暂停线程工作").toStdString();
// 找到眼睛则开始质量评估和编码
// 调用远程算法进行编码
@@ -146,10 +146,10 @@
// 编码成功
if (encodeResponse.size() == 1024)
{
- LOG(DEBUG) << QString("虹膜特征值提取[耗时%1ms][%2]").arg(timer.elapsed()).arg(irisInfo.leftOrRight).toStdString();
+// LOG(DEBUG) << QString("虹膜特征值提取[耗时%1ms][%2]").arg(timer.elapsed()).arg(irisInfo.leftOrRight).toStdString();
// 保存图像文件
- cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
+// cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
CasicIrisRecState::getInstance().irisInfo->irisCode = encodeResponse;
diff --git a/main.cpp b/main.cpp
index 0f56ec7..f48b918 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,8 +1,31 @@
#include "CasicBioRecWin.h"
#include
+#include //闪退调试
+#include //闪退调试
-INITIALIZE_EASYLOGGINGPP // 初始化easylogging++组件库
+//INITIALIZE_EASYLOGGINGPP // 初始化easylogging++组件库
+
+
+//程式异常捕获
+LONG ApplicationCrashHandler(EXCEPTION_POINTERS *pException)
+{
+ //创建 Dump 文件
+ HANDLE hDumpFile = CreateFile(L"d://crash.dmp", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
+ if (hDumpFile != INVALID_HANDLE_VALUE)
+ {
+ //Dump信息
+ MINIDUMP_EXCEPTION_INFORMATION dumpInfo;
+ dumpInfo.ExceptionPointers = pException;
+ dumpInfo.ThreadId = GetCurrentThreadId();
+ dumpInfo.ClientPointers = TRUE;
+
+ //写入Dump文件内容
+ MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hDumpFile, MiniDumpNormal, &dumpInfo, NULL, NULL);
+ }
+
+ return EXCEPTION_EXECUTE_HANDLER;
+}
int main(int argc, char *argv[])
{
@@ -10,15 +33,18 @@
QApplication a(argc, argv);
+ //设置异常拦截
+ SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)ApplicationCrashHandler);//注冊异常捕获函数
+
// Load conf setting
- el::Configurations conf(QApplication::applicationDirPath().toStdString() + "/conf/log.conf");
- el::Loggers::reconfigureAllLoggers(conf);
+ //el::Configurations conf(QApplication::applicationDirPath().toStdString() + "/conf/log.conf");
+ //el::Loggers::reconfigureAllLoggers(conf);
// Fatal level do not stop program
- el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog);
+ //el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog);
// Init Verbose level
- el::Loggers::setVerboseLevel(9);
+ //el::Loggers::setVerboseLevel(9);
CasicBioRecWin w;
w.show();
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/dao/util/ConnectionManager.h b/dao/util/ConnectionManager.h
index 6b2bfa0..7a707be 100644
--- a/dao/util/ConnectionManager.h
+++ b/dao/util/ConnectionManager.h
@@ -4,7 +4,7 @@
#include
#include
#include "utils/id/IdWorker.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
using namespace Jiawa::Core;
diff --git a/device/CameraPositionController.cpp b/device/CameraPositionController.cpp
index 1b15c13..879f19a 100644
--- a/device/CameraPositionController.cpp
+++ b/device/CameraPositionController.cpp
@@ -58,13 +58,14 @@
emit updateTips(QString("正在识别,请看向镜头"));
emit updateTipsBackgroundColor("#248A53");
+ // 计算并调整镜头的上下位置
int eyeTop = faceRect.y + faceRect.height * 0.35;
int eyeBottom = faceRect.y + faceRect.height * 0.45;
if (eyeTop < 250 || eyeBottom > 350) {
- emit motoControl(faceRect.y + faceRect.height * 0.4);
+// emit motoControl(faceRect.y + faceRect.height * 0.4);
}
- // 位置合适 拍两张虹膜图像进行识别
+ // 位置合适 拍一张虹膜图像进行识别(左右眼不定)
ProMemory::getInstance().irisCam->getOneFaceFrm();
}
}
diff --git a/device/FaceCameraController.cpp b/device/FaceCameraController.cpp
index 2a4d7cb..4816527 100644
--- a/device/FaceCameraController.cpp
+++ b/device/FaceCameraController.cpp
@@ -7,10 +7,10 @@
faceCap->set(cv::CAP_PROP_FRAME_WIDTH, SettingConfig::getInstance().FACE_FRAME_WIDTH);
faceCap->set(cv::CAP_PROP_FRAME_HEIGHT, SettingConfig::getInstance().FACE_FRAME_HEIGHT);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
- .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
- .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
- .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
+// .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
+// .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
+// .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
}
FaceCameraController::~FaceCameraController()
@@ -29,7 +29,7 @@
// 启动定时器
TimeCounterUtil::getInstance().faceCapCounter->start(mInterval);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
}
void FaceCameraController::stopTakingPhoto()
@@ -52,7 +52,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
@@ -87,7 +87,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
diff --git a/device/IrisCameraCapEventHandler.cpp b/device/IrisCameraCapEventHandler.cpp
index d33ade9..0502dda 100644
--- a/device/IrisCameraCapEventHandler.cpp
+++ b/device/IrisCameraCapEventHandler.cpp
@@ -45,7 +45,7 @@
ProMemory::getInstance().pushCasicIris(irisInfo);
- cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
+// cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
} else if (ProMemory::getInstance().widgeFrame == CasicBioRecConst::ADD_PERSON_CAPTURE_IRIS)
{
// 相机拍摄下的图像1280*960, 直接用于算法判断
diff --git a/device/IrisCameraController.cpp b/device/IrisCameraController.cpp
index 0b81012..2b8538e 100644
--- a/device/IrisCameraController.cpp
+++ b/device/IrisCameraController.cpp
@@ -55,14 +55,14 @@
// 获取定时器, 绑定定时函数
connect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
}
void IrisCameraController::stopCapture()
{
// 获取定时器, 绑定定时函数
disconnect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
}
void IrisCameraController::getOneFaceFrm()
diff --git a/device/MotoController.cpp b/device/MotoController.cpp
index ca61c02..af053d3 100644
--- a/device/MotoController.cpp
+++ b/device/MotoController.cpp
@@ -26,15 +26,14 @@
bool succ = serial.open(QIODevice::ReadWrite);
//连接信号和槽
-
- LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
+// LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
return succ;
}
void MotoController::sendDataAutoEnding(QByteArray data)
{
- LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
+// LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
// 加上0x0D 0x0A换行结束
data.append(0x0D).append(0x0A);
diff --git a/device/face/CasicFaceRecState.cpp b/device/face/CasicFaceRecState.cpp
index 7415a86..8fd822f 100644
--- a/device/face/CasicFaceRecState.cpp
+++ b/device/face/CasicFaceRecState.cpp
@@ -16,7 +16,7 @@
this->tryCount = 0;
this->noFaceCount = 0;
- LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
// 开始识别
this->state = FaceRecStateName::REC_DETECT;
diff --git a/device/face/FaceRecogProcess.cpp b/device/face/FaceRecogProcess.cpp
index d83cdeb..962d251 100644
--- a/device/face/FaceRecogProcess.cpp
+++ b/device/face/FaceRecogProcess.cpp
@@ -27,7 +27,7 @@
void FaceRecogProcess::addOneTryCount()
{
- LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
if (CasicFaceRecState::getInstance().tryCount < SettingConfig::getInstance().MAX_FACE_TRY_COUNT)
{
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
@@ -70,7 +70,7 @@
if (ProMemory::getInstance().isFaceQueueEmpty() == true)
{
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
@@ -79,7 +79,7 @@
// 识别状态不等于未开始, 表示已经进入识别程序了, 后续不再执行, 等待本次识别过程结束
if (CasicFaceRecState::getInstance().state != CasicFaceRecState::FaceRecStateName::REC_NOT_START)
{
- LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -95,7 +95,7 @@
{
// 表示本次识别结束, 可以开始下一次识别过程
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有多调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -117,7 +117,7 @@
if (faceInfo.antiStatus != seeta::FaceAntiSpoofing::Status::REAL)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -134,7 +134,7 @@
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_FEATURE_EXTRACT;
CasicFaceRecState::getInstance().faceInfo = &faceInfo;
- LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 特征值提取成功的人脸 与人脸库中的人脸进行比较
compareFaceInCollection();
@@ -160,7 +160,7 @@
float sim = casic::face::CasicFaceInterface::getInstance().faceSimCalculate(CasicFaceRecState::getInstance().faceInfo->feature, ffArr);
- LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
+// LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
if (sim > 0.62)
{
CasicFaceRecState::getInstance().faceInfo->sim = sim;
diff --git a/device/face/FaceRegistProcess.cpp b/device/face/FaceRegistProcess.cpp
index 235b855..77e91f3 100644
--- a/device/face/FaceRegistProcess.cpp
+++ b/device/face/FaceRegistProcess.cpp
@@ -22,7 +22,7 @@
void FaceRegistProcess::addOneTryCount()
{
- LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
if (CasicFaceRecState::getInstance().tryCount < SettingConfig::getInstance().MAX_FACE_TRY_COUNT)
{
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
@@ -63,7 +63,7 @@
if (ProMemory::getInstance().isFaceQueueEmpty() == true)
{
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(TRACE) << QString("[CasicFaceRegistThread][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(TRACE) << QString("[CasicFaceRegistThread][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
@@ -72,7 +72,7 @@
// 识别状态不等于未开始, 表示已经进入识别程序了, 后续不再执行, 等待本次识别过程结束
if (CasicFaceRecState::getInstance().state != CasicFaceRecState::FaceRecStateName::REC_NOT_START)
{
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -88,7 +88,7 @@
{
// 表示本次识别结束, 可以开始下一次识别过程
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有多调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -110,7 +110,7 @@
if (faceInfo.antiStatus != seeta::FaceAntiSpoofing::Status::REAL)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -127,7 +127,7 @@
if (faceInfo.quality.level != seeta::QualityLevel::HIGH)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸质量评估未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸质量评估未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -154,7 +154,7 @@
tempImg.save(&buf, "bmp");
CasicFaceRecState::getInstance().imgBase64 = ba.toBase64();
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
this->setWorking(false);
// 特征值提取成功的人脸 与人脸库中的人脸进行比较
@@ -187,7 +187,7 @@
float sim = casic::face::CasicFaceInterface::getInstance().faceSimCalculate(CasicFaceRecState::getInstance().faceInfo->feature, ffArr);
- LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
+// LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
if (sim > 0.62)
{
CasicFaceRecState::getInstance().faceInfo->sim = sim;
diff --git a/device/iris/CasicIrisRecState.cpp b/device/iris/CasicIrisRecState.cpp
index d6d01e1..4edfdb1 100644
--- a/device/iris/CasicIrisRecState.cpp
+++ b/device/iris/CasicIrisRecState.cpp
@@ -24,7 +24,7 @@
this->tryCount = 0;
this->noEyeCount = 0;
- LOG(DEBUG) << QString("[CasicIrisRecState][initRecognize] 虹膜识别状态初始化").toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRecState][initRecognize] 虹膜识别状态初始化").toStdString();
}
QString CasicIrisRecState::toString()
diff --git a/device/iris/IrisRecogProcess.cpp b/device/iris/IrisRecogProcess.cpp
index a25eb87..d843c51 100644
--- a/device/iris/IrisRecogProcess.cpp
+++ b/device/iris/IrisRecogProcess.cpp
@@ -42,7 +42,7 @@
// 图像栈中没有图像则直接返回
if (ProMemory::getInstance().isIrisQueueEmpty() == true)
{
- LOG(DEBUG) << QString("[IrisRecogProcess] 虹膜图像栈空, 暂停200ms").toStdString();
+// LOG(TRACE) << QString("[IrisRecogProcess] 虹膜图像栈空, 暂停200ms").toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -55,12 +55,12 @@
// this->msleep(200); // 200ms后再判断
// continue;
// }
- LOG(DEBUG) << QString("[IrisRecogProcess]准备取出虹膜图像[%1]").arg(ProMemory::getInstance().isIrisQueueEmpty()).toStdString();
+// LOG(TRACE) << QString("[IrisRecogProcess] 准备取出虹膜图像[%1]").arg(ProMemory::getInstance().isIrisQueueEmpty()).toStdString();
// 取出虹膜图像栈中的一条数据
CasicIrisInfo irisInfo = ProMemory::getInstance().popCasicIris();
- LOG(DEBUG) << QString("[IrisRecogProcess]取出虹膜图像").toStdString();
+// LOG(DEBUG) << QString("[IrisRecogProcess] 取出虹膜图像").toStdString();
// 调用找眼分类器算法
casic::iris::CasicIrisInterface::getInstance().setMinEyeSize(360);
@@ -70,14 +70,14 @@
if (irisInfo.hasEye == false)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[IrisRecogProcess] 分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
+// LOG(DEBUG) << QString("[IrisRecogProcess] 分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
addOneNoEyeCount();
this->msleep(200); // 200ms后再判断
continue;
}
- LOG(DEBUG) << QString("[IrisRecogProcess]找到眼睛调用远程算法进行识别").toStdString();
+// LOG(DEBUG) << QString("[IrisRecogProcess] 找到眼睛调用远程算法进行识别").toStdString();
// 找到眼睛则开始质量评估和编码
// 调用远程算法进行编码
@@ -107,15 +107,15 @@
// 状态修改为特征提取
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_FEATURE_EXTRACT;
- QTimer toTimer;
+ //QTimer toTimer;
QEventLoop loop;
- toTimer.singleShot(3000, &loop, &QEventLoop::quit);
+ //toTimer.singleShot(3000, &loop, &QEventLoop::quit);
connect(clientUtil, &SocketClientUtil::responseReaded, &loop, &QEventLoop::quit);
loop.exec();
QByteArray matchResponse = clientUtil->getResponse();
- LOG(INFO) << QString("算法匹配结果").toStdString() << matchResponse.toStdString();
+// LOG(INFO) << QString("算法匹配结果").toStdString() << matchResponse.toStdString();
// 算法调用返回成功
if (matchResponse.size() > 0)
@@ -128,10 +128,10 @@
QString personId = messList.at(1);
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_SEARCH_SUCC;
- LOG(INFO) << QString("匹配成功[tm: %1 ms][id: %2]").arg(timer.elapsed()).arg(personId).toStdString();
+// LOG(INFO) << QString("匹配成功[tm: %1 ms][id: %2]").arg(timer.elapsed()).arg(personId).toStdString();
// 保存图像文件
- cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
+// cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_NOT_START;
emit findMatchedIris(personId, 2);
@@ -139,14 +139,14 @@
} else if (code.toInt() == -200)
{
// 匹配失败
- LOG(INFO) << QString("匹配失败: ").toStdString() << matchResponse.toStdString();
+// LOG(INFO) << QString("匹配失败: ").toStdString() << matchResponse.toStdString();
// 匹配失败则尝试次数+1
addOneTryCount();
} else if (code.toInt() == -100)
{
// 编码失败
- LOG(INFO) << QString("编码失败: ").toStdString() << matchResponse.toStdString();
+// LOG(INFO) << QString("编码失败: ").toStdString() << matchResponse.toStdString();
// 编码失败则尝试次数+1
addOneTryCount();
@@ -169,7 +169,7 @@
void IrisRecogProcess::addOneTryCount()
{
CasicIrisRecState::getInstance().tryCount++;
- LOG(DEBUG) << QString("[CasicIrisRecogProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRecogProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_NOT_START;
if (CasicIrisRecState::getInstance().tryCount >= SettingConfig::getInstance().MAX_IRIS_TRY_COUNT)
diff --git a/device/iris/IrisRegistProcess.cpp b/device/iris/IrisRegistProcess.cpp
index 7696cf3..d04ced9 100644
--- a/device/iris/IrisRegistProcess.cpp
+++ b/device/iris/IrisRegistProcess.cpp
@@ -30,7 +30,7 @@
void IrisRegistProcess::addOneTryCount()
{
CasicIrisRecState::getInstance().tryCount++;
- LOG(DEBUG) << QString("[CasicIrisRegistProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
if (CasicIrisRecState::getInstance().tryCount >= SettingConfig::getInstance().MAX_IRIS_TRY_COUNT)
{
@@ -65,26 +65,26 @@
// 图像栈中没有图像则直接返回
if (ProMemory::getInstance().isIrisQueueEmpty() == true)
{
- LOG(DEBUG) << QString("[CasicIrisRegistThread]虹膜图像栈空 暂停200ms").toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]虹膜图像栈空 暂停200ms").toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
// 取出一幅图像
CasicIrisInfo irisInfo = ProMemory::getInstance().popCasicIris();
- LOG(DEBUG) << QString("[CasicIrisRegistThread]取出一幅虹膜图").toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]取出一幅虹膜图").toStdString();
if (CasicIrisRecState::getInstance().state == CasicIrisRecState::IrisRecStateName::REC_LEFT_FIND_EYE &&
irisInfo.leftOrRight == "left")
{
// 左眼已经编码成功则不再判断左眼
- LOG(DEBUG) << QString("[CasicIrisRegistThread]左眼已经编码成功则不再判断左眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]左眼已经编码成功则不再判断左眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
this->msleep(200); // 200ms后再判断
continue;
} else if (CasicIrisRecState::getInstance().state == CasicIrisRecState::IrisRecStateName::REC_RIGHT_FIND_EYE &&
irisInfo.leftOrRight == "right"){
// 右眼已经编码成功则不再判断右眼
- LOG(DEBUG) << QString("[CasicIrisRegistThread]右眼已经编码成功则不再判断右眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]右眼已经编码成功则不再判断右眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -96,7 +96,7 @@
if (irisInfo.hasEye == false)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicIrisRegistThread]分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
addOneNoEyeCount();
// 双眼都要注册, 没找到眼不重置状态
@@ -106,7 +106,7 @@
// 找到眼睛则暂停线程工作
ProMemory::getInstance().irisRegistPro->setWorking(false);
- LOG(DEBUG) << QString("找到眼睛暂停线程工作").toStdString();
+// LOG(DEBUG) << QString("找到眼睛暂停线程工作").toStdString();
// 找到眼睛则开始质量评估和编码
// 调用远程算法进行编码
@@ -146,10 +146,10 @@
// 编码成功
if (encodeResponse.size() == 1024)
{
- LOG(DEBUG) << QString("虹膜特征值提取[耗时%1ms][%2]").arg(timer.elapsed()).arg(irisInfo.leftOrRight).toStdString();
+// LOG(DEBUG) << QString("虹膜特征值提取[耗时%1ms][%2]").arg(timer.elapsed()).arg(irisInfo.leftOrRight).toStdString();
// 保存图像文件
- cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
+// cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
CasicIrisRecState::getInstance().irisInfo->irisCode = encodeResponse;
diff --git a/main.cpp b/main.cpp
index 0f56ec7..f48b918 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,8 +1,31 @@
#include "CasicBioRecWin.h"
#include
+#include //闪退调试
+#include //闪退调试
-INITIALIZE_EASYLOGGINGPP // 初始化easylogging++组件库
+//INITIALIZE_EASYLOGGINGPP // 初始化easylogging++组件库
+
+
+//程式异常捕获
+LONG ApplicationCrashHandler(EXCEPTION_POINTERS *pException)
+{
+ //创建 Dump 文件
+ HANDLE hDumpFile = CreateFile(L"d://crash.dmp", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
+ if (hDumpFile != INVALID_HANDLE_VALUE)
+ {
+ //Dump信息
+ MINIDUMP_EXCEPTION_INFORMATION dumpInfo;
+ dumpInfo.ExceptionPointers = pException;
+ dumpInfo.ThreadId = GetCurrentThreadId();
+ dumpInfo.ClientPointers = TRUE;
+
+ //写入Dump文件内容
+ MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hDumpFile, MiniDumpNormal, &dumpInfo, NULL, NULL);
+ }
+
+ return EXCEPTION_EXECUTE_HANDLER;
+}
int main(int argc, char *argv[])
{
@@ -10,15 +33,18 @@
QApplication a(argc, argv);
+ //设置异常拦截
+ SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)ApplicationCrashHandler);//注冊异常捕获函数
+
// Load conf setting
- el::Configurations conf(QApplication::applicationDirPath().toStdString() + "/conf/log.conf");
- el::Loggers::reconfigureAllLoggers(conf);
+ //el::Configurations conf(QApplication::applicationDirPath().toStdString() + "/conf/log.conf");
+ //el::Loggers::reconfigureAllLoggers(conf);
// Fatal level do not stop program
- el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog);
+ //el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog);
// Init Verbose level
- el::Loggers::setVerboseLevel(9);
+ //el::Loggers::setVerboseLevel(9);
CasicBioRecWin w;
w.show();
diff --git a/utils/UtilInclude.h b/utils/UtilInclude.h
index 6019de0..70bb714 100644
--- a/utils/UtilInclude.h
+++ b/utils/UtilInclude.h
@@ -1,7 +1,10 @@
#ifndef UTILINCLUDE_H
#define UTILINCLUDE_H
-#include "easyloggingpp/easylogging++.h"
+//#define ELPP_THREAD_SAFE
+//#define ELPP_QT_LOGGING
+
+//#include "easyloggingpp/easylogging++.h"
#include "ByteUtil.h"
#include "ImageUtil.h"
#include "SelectDeptUtil.h"
diff --git a/AddPersonForm.cpp b/AddPersonForm.cpp
index 97b10d6..97d812c 100644
--- a/AddPersonForm.cpp
+++ b/AddPersonForm.cpp
@@ -165,7 +165,7 @@
{
if (this->faceLabel->isVisible() == true)
{
- LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
+ //LOG(TRACE) << "DRAW IMAGE ON FORM " << imageDisp.width() << "*" << imageDisp.height();
faceLabel->setPixmap(QPixmap::fromImage(imageDisp));
}
@@ -210,7 +210,7 @@
// 重置识别状态码
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
- LOG(DEBUG) << "人脸采集成功";
+ //LOG(DEBUG) << "人脸采集成功";
if (personIdByFace == "")
{
// 人脸库中没有
@@ -239,7 +239,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸重复注册,请重试"));
- LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已经注册" << ui->inputName->text().toStdString();
} else
{
if (this->personId == personIdByFace)
@@ -263,7 +263,7 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("人脸已注册其他人,请重试"));
- LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "人脸已注册其他人" << ui->inputName->text().toStdString();
}
}
}
@@ -301,17 +301,17 @@
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已经注册,请重试"));
- LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
+ //LOG(DEBUG) << "虹膜已经注册" << ui->inputName->text().toStdString();
} else {
// 语音提示
SpeakerUtil::getInstance().speak(QString("虹膜已注册其他人,请重试"));
- LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
+ //LOG(DEBUG) << "虹膜已注册其他人" << personIdByIris.toStdString();
}
}
void AddPersonForm::onSuccessCaptureIrisWithoutMatch(CasicIrisInfo * irisInfo)
{
- LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
+ //LOG(INFO) << QString("[AddPersonForm]虹膜编码成功[%1][%2]").arg(irisInfo->leftOrRight).arg(CasicIrisRecState::getInstance().state).toStdString();
updateIrisImage(irisInfo);
if (irisInfo->leftOrRight == "left")
@@ -480,7 +480,7 @@
tipsDlg.setTipsText(QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
int ret = tipsDlg.exec();
- LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员注册%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
if (ret == 1)
{
@@ -620,7 +620,7 @@
tipsDlg.setTipsText(QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败"));
tipsDlg.exec();
- LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
+ //LOG(INFO) << QString("%1 人员信息编辑%2").arg(ui->inputName->text()).arg(succ == true ? "成功" : "失败").toStdString();
}
void AddPersonForm::updateIrisImage(CasicIrisInfo * irisInfo)
@@ -691,12 +691,12 @@
ProMemory::getInstance().faceRegistPro->setWorking(true);
CasicFaceRecState::getInstance().state = CasicFaceRecState::REC_NOT_START;
- LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
+ //LOG(TRACE) << "FACE IMAGE DOUBLE CLICKED";
}
void AddPersonForm::onPhotoIrisDoubleClicked()
{
- LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
+ //LOG(TRACE) << "DOUBLE CLICKED IRIS " << personId.toStdString();
// 编辑时先发指令重新加载虹膜库 去掉自己
ProMemory::getInstance().initIrisFeatures(personId);
diff --git a/CasicBioRecNew.pro b/CasicBioRecNew.pro
index 6633b0d..d4db4e2 100644
--- a/CasicBioRecNew.pro
+++ b/CasicBioRecNew.pro
@@ -73,7 +73,9 @@
INCLUDEPATH += $$PWD/../../opencv420/build/include
DEPENDPATH += $$PWD/../../opencv420/build/include
-win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx
+win32: LIBS += -L$$PWD/daheng/lib/ -lGxIAPICPPEx -lDbgHelp
INCLUDEPATH += $$PWD/daheng/include
DEPENDPATH += $$PWD/daheng/include
+
+QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG
diff --git a/CasicBioRecWin.cpp b/CasicBioRecWin.cpp
index bc8018b..5635659 100644
--- a/CasicBioRecWin.cpp
+++ b/CasicBioRecWin.cpp
@@ -6,8 +6,8 @@
, ui(new Ui::CasicBioRecWin)
{
// 打开外部可执行程序
-// outExe = new QProcess(this);
-// outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
+ outExe = new QProcess(this);
+ outExe->start(SettingConfig::getInstance().OUT_EXE_FILE);
ui->setupUi(this);
@@ -57,7 +57,7 @@
ProMemory::getInstance().moto, &MotoController::autoPosition);
// 打印日志
- LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
+ //LOG(INFO) << QString("应用程序启动成功[Application Startup Success]").toStdString();
ProMemory::getInstance().widgeFrame = CasicBioRecConst::WidgeFrameName::MAIN_PAGE;
}
@@ -84,8 +84,8 @@
ProMemory::getInstance().camPosCtrl->wait();
// 关闭自动启动的外部程序
-// outExe->close();
-// delete outExe;
+ outExe->close();
+ delete outExe;
delete ui;
delete ProMemory::getInstance().faceRegistPro;
@@ -99,7 +99,7 @@
{
switch (event->key()) {
case Qt::Key_Escape:
- LOG(INFO) << "" << std::endl;
+ //LOG(INFO) << "" << std::endl;
QTimer::singleShot(100, qApp, SLOT(quit()));
default:
diff --git a/RecognizeResultForm.cpp b/RecognizeResultForm.cpp
index cb61cc8..9fefa12 100644
--- a/RecognizeResultForm.cpp
+++ b/RecognizeResultForm.cpp
@@ -134,7 +134,9 @@
QImage image;
image.loadFromData(QByteArray::fromBase64(imageData.toLatin1()));
image = image.scaledToHeight(280, Qt::SmoothTransformation);
- ui->labPhotot->setPixmap(QPixmap::fromImage(image));
+ ui->labPhoto->setPixmap(QPixmap::fromImage(image));
+ } else {
+ ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png"));
}
ui->widgetSucc->raise();
@@ -158,7 +160,7 @@
ProMemory::getInstance().faceCam->stopTakingPhoto();
ProMemory::getInstance().clearFaceQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 人脸识别成功 [%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -180,7 +182,7 @@
ProMemory::getInstance().camPosCtrl->setWorking(false);
ProMemory::getInstance().clearIrisQueue();
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜识别成功 [%1]").arg(CasicIrisRecState::getInstance().toString()).toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -214,7 +216,7 @@
{
logStr.arg("虹膜").arg(CasicIrisRecState::getInstance().toString());
}
- LOG(DEBUG) << logStr.toStdString();
+ //LOG(DEBUG) << logStr.toStdString();
// 识别记录存入数据库
RecognitionRecordDao recDao;
@@ -257,12 +259,12 @@
} else if (personIdByFace != personIdByIris)
{
// 人脸和虹膜识别的不是同一人 识别失败
- LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm] 虹膜与人脸识别结果不一致,识别失败 [face: %1][iris: %2]").arg(personIdByFace).arg(personIdByIris).toStdString();
SpeakerUtil::getInstance().speak("虹膜与人脸识别结果不一致,识别失败,请重试");
showRecogFailure();
} else
{
- LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
+ //LOG(DEBUG) << QString("[RecognizeResultForm]人脸虹膜识别成功").toStdString();
showRecognizeResult(personId);
// 识别记录存入数据库
diff --git a/RecognizeResultForm.ui b/RecognizeResultForm.ui
index 53e8bdf..9c5a0b5 100644
--- a/RecognizeResultForm.ui
+++ b/RecognizeResultForm.ui
@@ -76,7 +76,7 @@
600
-
+
20
diff --git a/StartupForm.cpp b/StartupForm.cpp
index cf20de1..947a7a4 100644
--- a/StartupForm.cpp
+++ b/StartupForm.cpp
@@ -35,8 +35,10 @@
// 每秒执行一次
connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
this, &StartupForm::updateDateAndTime);
-// connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
-// this, &StartupForm::takeOneFrameForCheckStatus);
+
+ // 每秒取一张图片判断是否进入识别程序
+ connect(TimeCounterUtil::getInstance().clockCounter, &QTimer::timeout,
+ this, &StartupForm::takeOneFrameForCheckStatus);
TimeCounterUtil::getInstance().clockCounter->start(1000);
}
@@ -91,7 +93,7 @@
if (hasFace == true)
{
- LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
+ //LOG(INFO) << QString("检测到人脸,START RECOGNIZE 线程").toStdString();
ProMemory::getInstance().appState = CasicBioRecConst::ApplicationState::STATE_WORKING;
// 启动识别线程
diff --git a/casic/face/CasicFaceInterface.cpp b/casic/face/CasicFaceInterface.cpp
index 33423ee..1e1005a 100644
--- a/casic/face/CasicFaceInterface.cpp
+++ b/casic/face/CasicFaceInterface.cpp
@@ -1,7 +1,7 @@
#include
#include
#include "CasicFaceInterface.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
casic::face::CasicFaceInterface::CasicFaceInterface()
{
@@ -121,10 +121,10 @@
if (faces.size != 0)
{
- LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
- .arg(timer.elapsed()).arg(faces.size)
- .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
- .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
+// LOG(DEBUG) << QString("人脸检测算法[tm: %1 ms][count: %2][rect: (%3,%4), (%5,%6)][size: (%7,%8)]")
+// .arg(timer.elapsed()).arg(faces.size)
+// .arg(faces.data[0].pos.x).arg(faces.data[0].pos.y).arg(faces.data[0].pos.x + faces.data[0].pos.width).arg(faces.data[0].pos.y + faces.data[0].pos.height)
+// .arg(faces.data[0].pos.width).arg(faces.data[0].pos.height).toStdString();
}
CasicFaceInfo faceInfo;
@@ -166,7 +166,7 @@
seeta::QualityOfBrightness qBright;
seeta::QualityResult brightResult = qBright.check(image, face, points, 5);
- LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
+// LOG(DEBUG) << QString("亮度评估[tm: %1 ms][bright: %2][score: %3]").arg(timer.elapsed()).arg(brightResult.level).arg(brightResult.score).toStdString();
if (brightResult.level != seeta::QualityLevel::HIGH)
{
@@ -181,7 +181,7 @@
seeta::QualityOfClarity qClarity;
seeta::QualityResult clarityResult = qClarity.check(image, face, points, 5);
- LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
+// LOG(DEBUG) << QString("清晰度评估[tm: %1 ms][clarity: %2]").arg(timer.elapsed()).arg(clarityResult.level).toStdString();
if (clarityResult.level != seeta::QualityLevel::HIGH)
{
@@ -211,7 +211,7 @@
// 分辨率评估
seeta::QualityOfResolution qReso;
seeta::QualityResult resoResult = qReso.check(image, face, points, 5);
- LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
+// LOG(DEBUG) << QString("分辨率评估[tm: %1 ms][reso: %2]").arg(timer.elapsed()).arg(resoResult.level).toStdString();
if (resoResult.level != seeta::QualityLevel::HIGH)
{
// 分辨率不够, 直接返回
@@ -243,7 +243,7 @@
seeta::QualityResult poseResult = poseEx->check(image, face, points, 5);
- LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
+// LOG(DEBUG) << QString("姿势评估[tm: %1ms][pose: %2][score: %3]").arg(timer.elapsed()).arg(poseResult.score).arg(poseResult.level).toStdString();
if (poseResult.level != seeta::QualityLevel::HIGH)
{
@@ -289,7 +289,7 @@
processor->GetPreFrameScore(&faceInfo.antiClarity, &faceInfo.antiReality);
- LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
+// LOG(DEBUG) << QString("活体检测[tm: %1 ms][anti: %2][clarity: %3, reality: %4]").arg(timer.elapsed()).arg(status).arg(faceInfo.antiClarity).arg(faceInfo.antiReality).toStdString();
}
return faceInfo;
@@ -361,11 +361,11 @@
if (rect.size() == 0)
{
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(TRACE) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -393,7 +393,7 @@
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("人脸分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -418,11 +418,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
@@ -448,11 +448,11 @@
if (rect.size() == 0)
{
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][0]").arg(timer.elapsed()).toStdString();
return cv::Rect(0, 0, 0, 0);
}
- LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛分类检测算法[戴眼镜][tm: %1 ms][%2, %3]").arg(timer.elapsed()).arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
return rect.at(0);
}
diff --git a/casic/iris/CasicIrisInterface.cpp b/casic/iris/CasicIrisInterface.cpp
index 0b861ec..6ecfdd9 100644
--- a/casic/iris/CasicIrisInterface.cpp
+++ b/casic/iris/CasicIrisInterface.cpp
@@ -50,15 +50,15 @@
return irisInfo;
}
- LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
- .arg(timer.elapsed()).arg(rect.size())
- .arg(rect.at(0).x).arg(rect.at(0).y)
- .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
+// LOG(DEBUG) << QString("眼睛检测算法[tm: %1 ms][count: %2][rect: (%3, %4) %5 * %6]")
+// .arg(timer.elapsed()).arg(rect.size())
+// .arg(rect.at(0).x).arg(rect.at(0).y)
+// .arg(rect.at(0).width).arg(rect.at(0).height).toStdString();
// 找到眼睛之后, 将眼部裁剪下来, 图像拉伸到640 * 480
cv::Point center;
- center.x = cvRound(rect.at(0).x + rect.at(0).width*0.5);
- center.y = cvRound(rect.at(0).y + rect.at(0).height*0.5);
+ center.x = cvFloor(rect.at(0).x + rect.at(0).width*0.5);
+ center.y = cvFloor(rect.at(0).y + rect.at(0).height*0.5);
// 限制中心点的范围
if (center.x < SettingConfig::getInstance().IRIS_WIDTH * cutRatio * 0.5)
diff --git a/casic/iris/CasicIrisInterface.h b/casic/iris/CasicIrisInterface.h
index 50801e8..f5c806e 100644
--- a/casic/iris/CasicIrisInterface.h
+++ b/casic/iris/CasicIrisInterface.h
@@ -33,7 +33,7 @@
std::string cascadeName = "./model/haarcascade_eye.xml";
int minEyeSize = 320;
int maxEyeSize = 480;
- float cutRatio = 0.75;
+ float cutRatio = 0.8;
cv::CascadeClassifier * cascade;
};
diff --git a/dao/BaseDao.h b/dao/BaseDao.h
index 1ea0c93..45fed6e 100644
--- a/dao/BaseDao.h
+++ b/dao/BaseDao.h
@@ -7,7 +7,7 @@
#include
#include "dao/util/ConnectionManager.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
class BaseDao : public QObject
{
diff --git a/dao/FaceDataDao.cpp b/dao/FaceDataDao.cpp
index 582056d..6ae000d 100644
--- a/dao/FaceDataDao.cpp
+++ b/dao/FaceDataDao.cpp
@@ -30,7 +30,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -57,7 +57,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_code", query.value("face_code").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -144,7 +144,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -202,7 +202,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/FaceDataImgDao.cpp b/dao/FaceDataImgDao.cpp
index ab92be8..afbb7dc 100644
--- a/dao/FaceDataImgDao.cpp
+++ b/dao/FaceDataImgDao.cpp
@@ -29,7 +29,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询FACE_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -56,7 +56,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -82,7 +82,7 @@
result.insert("face_image", query.value("face_image").toString());
}
- LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询FACE_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -117,7 +117,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询FACE_DATA_IMAGE表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -146,7 +146,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 返回结果
if (success == true)
@@ -179,7 +179,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -203,7 +203,7 @@
// 执行更新
bool success = query.exec(sql);
- LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人脸图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataDao.cpp b/dao/IrisDataDao.cpp
index 58e2591..fdcc845 100644
--- a/dao/IrisDataDao.cpp
+++ b/dao/IrisDataDao.cpp
@@ -36,7 +36,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询IRIS_DATA表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -68,7 +68,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -99,7 +99,7 @@
result.insert("right_iris_code3", query.value("right_iris_code3"));
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -136,7 +136,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -172,7 +172,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜特征值[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/IrisDataImgDao.cpp b/dao/IrisDataImgDao.cpp
index 262a9e4..34da728 100644
--- a/dao/IrisDataImgDao.cpp
+++ b/dao/IrisDataImgDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
+// LOG(DEBUG) << QString("查询IRIS_DATA_IMAGE表的所有记录[%1]").arg(result.size()).toStdString();
return result;
}
@@ -65,7 +65,7 @@
}
- LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据id查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -91,7 +91,7 @@
result.insert("right_image1", query.value("right_image1").toString());
}
- LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据personId查询IRIS_DATA_IMAGE表的记录[personId=%1][%2]").arg(personId).arg(sql).toStdString();
return result;
}
@@ -130,7 +130,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(DEBUG) << QString("根据属性值查询IRIS_DATA_IMAGE表的记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -156,7 +156,7 @@
// 执行插入
bool success = query.exec();
- LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
@@ -194,7 +194,7 @@
// 执行更新
bool success = query.exec();
- LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑虹膜图片[%1][%2]").arg(success).arg(sql).toStdString();
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
diff --git a/dao/RecognitionRecordDao.cpp b/dao/RecognitionRecordDao.cpp
index d7103f9..d2d0a74 100644
--- a/dao/RecognitionRecordDao.cpp
+++ b/dao/RecognitionRecordDao.cpp
@@ -28,7 +28,7 @@
result.append(item);
}
- LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
+// LOG(DEBUG) << QString("查询RECOGNITION_RECORDS表的所有记录[%1]").arg(result.size()).toLocal8Bit().data();
return result;
}
@@ -70,8 +70,8 @@
result.append(item);
}
- LOG(DEBUG) << sql.toStdString();
- LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
+// LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << QString("根据属性值查询RECOGNITION_RECORDS表的记录[%1]").arg(count).toLocal8Bit().data();
return result;
}
@@ -95,7 +95,7 @@
.arg(object.value("debug_info").toString());
query.prepare(sql);
- LOG(DEBUG) << sql.toStdString();
+// LOG(DEBUG) << sql.toStdString();
// 插入识别的log日志
QString logStr = QString("INSERT INTO RECOGNITION_LOGS (ID, LOG_INFO) VALUES ('%1', '%2')")
diff --git a/dao/SysDeptDao.cpp b/dao/SysDeptDao.cpp
index 4184069..1b02b58 100644
--- a/dao/SysDeptDao.cpp
+++ b/dao/SysDeptDao.cpp
@@ -29,7 +29,7 @@
item.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
+// LOG(TRACE) << QString("查询表[SYS_DEPT]的所有记录[%1][%2]").arg(result.size()).arg(sql).toStdString();
return result;
}
@@ -66,7 +66,7 @@
result.insert("fullname", query.value("fullname").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_DEPT表的记录[ID=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -104,7 +104,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_DEPT表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
diff --git a/dao/SysPersonDao.cpp b/dao/SysPersonDao.cpp
index 8ec4c99..7db87d3 100644
--- a/dao/SysPersonDao.cpp
+++ b/dao/SysPersonDao.cpp
@@ -44,7 +44,7 @@
result.append(item);
}
- LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
+// LOG(TRACE) << QString("查询SYS_PERSON表的所有记录[%1]").arg(count).toStdString();
return result;
}
@@ -87,7 +87,7 @@
result.insert("hasIris", query.value("iris_valid").toString());
}
- LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据id查询SYS_PERSON表的记录[id=%1][%2]").arg(id).arg(sql).toStdString();
return result;
}
@@ -119,7 +119,7 @@
result = query.value("RECCT").toInt();
}
- LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门查询SYS_PERSON记录总数[%1][%2]").arg(result).arg(sql).toStdString();
return result;
}
@@ -175,7 +175,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据姓名和部门分页查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -226,7 +226,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -272,7 +272,7 @@
result.append(item);
}
- LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
+// LOG(TRACE) << QString("根据属性值查询SYS_PERSON表的记录[%1][%2]").arg(count).arg(sql).toStdString();
return result;
}
@@ -311,7 +311,7 @@
// 返回结果
if (success == true)
{
- LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("保存SYS_PERSON记录成功[ID = %1][%2]").arg(id).arg(sql).toStdString();
return QString("%1").arg(id);
}
else
@@ -365,7 +365,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("编辑人员[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
@@ -402,7 +402,7 @@
// 结束事务
ConnectionManager::getInstance()->getConnection().commit();
- LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
+// LOG(DEBUG) << QString("删除人员SYS_PERSON[ID=%1][%2]").arg(id).arg(sql).toStdString();
// 返回结果
return success;
diff --git a/dao/util/ConnectionManager.cpp b/dao/util/ConnectionManager.cpp
index 4701781..4365556 100644
--- a/dao/util/ConnectionManager.cpp
+++ b/dao/util/ConnectionManager.cpp
@@ -18,10 +18,10 @@
bool succ = conn.open();
if (succ == true)
{
- LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
+// LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
} else
{
- LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
+// LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
}
}
}
diff --git a/dao/util/ConnectionManager.h b/dao/util/ConnectionManager.h
index 6b2bfa0..7a707be 100644
--- a/dao/util/ConnectionManager.h
+++ b/dao/util/ConnectionManager.h
@@ -4,7 +4,7 @@
#include
#include
#include "utils/id/IdWorker.h"
-#include "utils/easyloggingpp/easylogging++.h"
+//#include "utils/easyloggingpp/easylogging++.h"
using namespace Jiawa::Core;
diff --git a/device/CameraPositionController.cpp b/device/CameraPositionController.cpp
index 1b15c13..879f19a 100644
--- a/device/CameraPositionController.cpp
+++ b/device/CameraPositionController.cpp
@@ -58,13 +58,14 @@
emit updateTips(QString("正在识别,请看向镜头"));
emit updateTipsBackgroundColor("#248A53");
+ // 计算并调整镜头的上下位置
int eyeTop = faceRect.y + faceRect.height * 0.35;
int eyeBottom = faceRect.y + faceRect.height * 0.45;
if (eyeTop < 250 || eyeBottom > 350) {
- emit motoControl(faceRect.y + faceRect.height * 0.4);
+// emit motoControl(faceRect.y + faceRect.height * 0.4);
}
- // 位置合适 拍两张虹膜图像进行识别
+ // 位置合适 拍一张虹膜图像进行识别(左右眼不定)
ProMemory::getInstance().irisCam->getOneFaceFrm();
}
}
diff --git a/device/FaceCameraController.cpp b/device/FaceCameraController.cpp
index 2a4d7cb..4816527 100644
--- a/device/FaceCameraController.cpp
+++ b/device/FaceCameraController.cpp
@@ -7,10 +7,10 @@
faceCap->set(cv::CAP_PROP_FRAME_WIDTH, SettingConfig::getInstance().FACE_FRAME_WIDTH);
faceCap->set(cv::CAP_PROP_FRAME_HEIGHT, SettingConfig::getInstance().FACE_FRAME_HEIGHT);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
- .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
- .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
- .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]初始化相机[%1][%2 * %3]")
+// .arg(SettingConfig::getInstance().FACE_CAMERA_INDEX)
+// .arg(SettingConfig::getInstance().FACE_FRAME_WIDTH)
+// .arg(SettingConfig::getInstance().FACE_FRAME_HEIGHT).toStdString();
}
FaceCameraController::~FaceCameraController()
@@ -29,7 +29,7 @@
// 启动定时器
TimeCounterUtil::getInstance().faceCapCounter->start(mInterval);
- LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
+// LOG(DEBUG) << QString("[FaceCameraController][openFaceCamera]相机开始拍图[%1ms]").arg(mInterval).toStdString();
}
void FaceCameraController::stopTakingPhoto()
@@ -52,7 +52,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << "TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
@@ -87,7 +87,7 @@
// 拍图
faceCap->read(faceMat);
- LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
+// LOG(TRACE) << QThread::currentThreadId() << " TAKE ONE FACE FRAME " << faceMat.cols << " * " << faceMat.rows;
// 左右翻转
cv::Mat imageMatMiir;
diff --git a/device/IrisCameraCapEventHandler.cpp b/device/IrisCameraCapEventHandler.cpp
index d33ade9..0502dda 100644
--- a/device/IrisCameraCapEventHandler.cpp
+++ b/device/IrisCameraCapEventHandler.cpp
@@ -45,7 +45,7 @@
ProMemory::getInstance().pushCasicIris(irisInfo);
- cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
+// cv::imwrite(QString("D:\\irisLogs\\iristest-%1.bmp").arg(irisInfo.leftOrRight).toStdString(), irisMat);
} else if (ProMemory::getInstance().widgeFrame == CasicBioRecConst::ADD_PERSON_CAPTURE_IRIS)
{
// 相机拍摄下的图像1280*960, 直接用于算法判断
diff --git a/device/IrisCameraController.cpp b/device/IrisCameraController.cpp
index 0b81012..2b8538e 100644
--- a/device/IrisCameraController.cpp
+++ b/device/IrisCameraController.cpp
@@ -55,14 +55,14 @@
// 获取定时器, 绑定定时函数
connect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][startCapture]虹膜相机拍图").toStdString();
}
void IrisCameraController::stopCapture()
{
// 获取定时器, 绑定定时函数
disconnect(TimeCounterUtil::getInstance().irisCapCounter, &QTimer::timeout,
this, &IrisCameraController::getOneFaceFrm);
- LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
+// LOG(DEBUG) << QString("[IrisCameraController][stopCapture]虹膜相机停止拍图").toStdString();
}
void IrisCameraController::getOneFaceFrm()
diff --git a/device/MotoController.cpp b/device/MotoController.cpp
index ca61c02..af053d3 100644
--- a/device/MotoController.cpp
+++ b/device/MotoController.cpp
@@ -26,15 +26,14 @@
bool succ = serial.open(QIODevice::ReadWrite);
//连接信号和槽
-
- LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
+// LOG(DEBUG) << QString("[MotoController][initSerialMCU]打开电机串口[%1][%2][%3]").arg(portName).arg(baudRate).arg(succ).toStdString();
return succ;
}
void MotoController::sendDataAutoEnding(QByteArray data)
{
- LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
+// LOG(INFO) << QString("向串口发送数据[send] %1").arg(data.data()).toStdString();
// 加上0x0D 0x0A换行结束
data.append(0x0D).append(0x0A);
diff --git a/device/face/CasicFaceRecState.cpp b/device/face/CasicFaceRecState.cpp
index 7415a86..8fd822f 100644
--- a/device/face/CasicFaceRecState.cpp
+++ b/device/face/CasicFaceRecState.cpp
@@ -16,7 +16,7 @@
this->tryCount = 0;
this->noFaceCount = 0;
- LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecState][initRecognize] 人脸识别状态初始化").toStdString();
// 开始识别
this->state = FaceRecStateName::REC_DETECT;
diff --git a/device/face/FaceRecogProcess.cpp b/device/face/FaceRecogProcess.cpp
index d83cdeb..962d251 100644
--- a/device/face/FaceRecogProcess.cpp
+++ b/device/face/FaceRecogProcess.cpp
@@ -27,7 +27,7 @@
void FaceRecogProcess::addOneTryCount()
{
- LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
if (CasicFaceRecState::getInstance().tryCount < SettingConfig::getInstance().MAX_FACE_TRY_COUNT)
{
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
@@ -70,7 +70,7 @@
if (ProMemory::getInstance().isFaceQueueEmpty() == true)
{
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(TRACE) << QString("[CasicFaceRecognize][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
@@ -79,7 +79,7 @@
// 识别状态不等于未开始, 表示已经进入识别程序了, 后续不再执行, 等待本次识别过程结束
if (CasicFaceRecState::getInstance().state != CasicFaceRecState::FaceRecStateName::REC_NOT_START)
{
- LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -95,7 +95,7 @@
{
// 表示本次识别结束, 可以开始下一次识别过程
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有多调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -117,7 +117,7 @@
if (faceInfo.antiStatus != seeta::FaceAntiSpoofing::Status::REAL)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -134,7 +134,7 @@
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_FEATURE_EXTRACT;
CasicFaceRecState::getInstance().faceInfo = &faceInfo;
- LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRecognize] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
// 特征值提取成功的人脸 与人脸库中的人脸进行比较
compareFaceInCollection();
@@ -160,7 +160,7 @@
float sim = casic::face::CasicFaceInterface::getInstance().faceSimCalculate(CasicFaceRecState::getInstance().faceInfo->feature, ffArr);
- LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
+// LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
if (sim > 0.62)
{
CasicFaceRecState::getInstance().faceInfo->sim = sim;
diff --git a/device/face/FaceRegistProcess.cpp b/device/face/FaceRegistProcess.cpp
index 235b855..77e91f3 100644
--- a/device/face/FaceRegistProcess.cpp
+++ b/device/face/FaceRegistProcess.cpp
@@ -22,7 +22,7 @@
void FaceRegistProcess::addOneTryCount()
{
- LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[addOneTryCount]已尝试次数[%1]").arg(CasicFaceRecState::getInstance().tryCount).toStdString();
if (CasicFaceRecState::getInstance().tryCount < SettingConfig::getInstance().MAX_FACE_TRY_COUNT)
{
CasicFaceRecState::getInstance().state = CasicFaceRecState::FaceRecStateName::REC_NOT_START;
@@ -63,7 +63,7 @@
if (ProMemory::getInstance().isFaceQueueEmpty() == true)
{
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(TRACE) << QString("[CasicFaceRegistThread][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(TRACE) << QString("[CasicFaceRegistThread][%1] 人脸图像栈空, 暂停200ms").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
@@ -72,7 +72,7 @@
// 识别状态不等于未开始, 表示已经进入识别程序了, 后续不再执行, 等待本次识别过程结束
if (CasicFaceRecState::getInstance().state != CasicFaceRecState::FaceRecStateName::REC_NOT_START)
{
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 已在一次识别过程中, 暂停200ms。当前状态为: %1").arg(CasicFaceRecState::getInstance().state).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -88,7 +88,7 @@
{
// 表示本次识别结束, 可以开始下一次识别过程
addOneNoFaceCount(); // 连续没找到脸的次数+1;注册过程有多调用opencv的分类器, 没有符合要求脸的图像不入栈
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 没有找到人脸, 暂停200ms。重置识别状态为REC_NOT_START[%1]").arg(CasicFaceRecState::getInstance().noFaceCount).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -110,7 +110,7 @@
if (faceInfo.antiStatus != seeta::FaceAntiSpoofing::Status::REAL)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸活体检测未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -127,7 +127,7 @@
if (faceInfo.quality.level != seeta::QualityLevel::HIGH)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸质量评估未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 人脸质量评估未通过, 暂停200ms。[%1]").arg("CasicFaceRecState::getInstance().toString()").toStdString();
addOneTryCount(); // 判断是否超过次数, 重置识别状态
this->msleep(200); // 200ms后再判断
@@ -154,7 +154,7 @@
tempImg.save(&buf, "bmp");
CasicFaceRecState::getInstance().imgBase64 = ba.toBase64();
- LOG(DEBUG) << QString("[CasicFaceRegistThread] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
+// LOG(DEBUG) << QString("[CasicFaceRegistThread] 特征提取成功[%1]").arg(CasicFaceRecState::getInstance().toString()).toStdString();
this->setWorking(false);
// 特征值提取成功的人脸 与人脸库中的人脸进行比较
@@ -187,7 +187,7 @@
float sim = casic::face::CasicFaceInterface::getInstance().faceSimCalculate(CasicFaceRecState::getInstance().faceInfo->feature, ffArr);
- LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
+// LOG(DEBUG) << QString("[compareFaceInCollection] 特征值比对结果[%1]").arg(sim).toStdString();
if (sim > 0.62)
{
CasicFaceRecState::getInstance().faceInfo->sim = sim;
diff --git a/device/iris/CasicIrisRecState.cpp b/device/iris/CasicIrisRecState.cpp
index d6d01e1..4edfdb1 100644
--- a/device/iris/CasicIrisRecState.cpp
+++ b/device/iris/CasicIrisRecState.cpp
@@ -24,7 +24,7 @@
this->tryCount = 0;
this->noEyeCount = 0;
- LOG(DEBUG) << QString("[CasicIrisRecState][initRecognize] 虹膜识别状态初始化").toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRecState][initRecognize] 虹膜识别状态初始化").toStdString();
}
QString CasicIrisRecState::toString()
diff --git a/device/iris/IrisRecogProcess.cpp b/device/iris/IrisRecogProcess.cpp
index a25eb87..d843c51 100644
--- a/device/iris/IrisRecogProcess.cpp
+++ b/device/iris/IrisRecogProcess.cpp
@@ -42,7 +42,7 @@
// 图像栈中没有图像则直接返回
if (ProMemory::getInstance().isIrisQueueEmpty() == true)
{
- LOG(DEBUG) << QString("[IrisRecogProcess] 虹膜图像栈空, 暂停200ms").toStdString();
+// LOG(TRACE) << QString("[IrisRecogProcess] 虹膜图像栈空, 暂停200ms").toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -55,12 +55,12 @@
// this->msleep(200); // 200ms后再判断
// continue;
// }
- LOG(DEBUG) << QString("[IrisRecogProcess]准备取出虹膜图像[%1]").arg(ProMemory::getInstance().isIrisQueueEmpty()).toStdString();
+// LOG(TRACE) << QString("[IrisRecogProcess] 准备取出虹膜图像[%1]").arg(ProMemory::getInstance().isIrisQueueEmpty()).toStdString();
// 取出虹膜图像栈中的一条数据
CasicIrisInfo irisInfo = ProMemory::getInstance().popCasicIris();
- LOG(DEBUG) << QString("[IrisRecogProcess]取出虹膜图像").toStdString();
+// LOG(DEBUG) << QString("[IrisRecogProcess] 取出虹膜图像").toStdString();
// 调用找眼分类器算法
casic::iris::CasicIrisInterface::getInstance().setMinEyeSize(360);
@@ -70,14 +70,14 @@
if (irisInfo.hasEye == false)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[IrisRecogProcess] 分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
+// LOG(DEBUG) << QString("[IrisRecogProcess] 分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
addOneNoEyeCount();
this->msleep(200); // 200ms后再判断
continue;
}
- LOG(DEBUG) << QString("[IrisRecogProcess]找到眼睛调用远程算法进行识别").toStdString();
+// LOG(DEBUG) << QString("[IrisRecogProcess] 找到眼睛调用远程算法进行识别").toStdString();
// 找到眼睛则开始质量评估和编码
// 调用远程算法进行编码
@@ -107,15 +107,15 @@
// 状态修改为特征提取
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_FEATURE_EXTRACT;
- QTimer toTimer;
+ //QTimer toTimer;
QEventLoop loop;
- toTimer.singleShot(3000, &loop, &QEventLoop::quit);
+ //toTimer.singleShot(3000, &loop, &QEventLoop::quit);
connect(clientUtil, &SocketClientUtil::responseReaded, &loop, &QEventLoop::quit);
loop.exec();
QByteArray matchResponse = clientUtil->getResponse();
- LOG(INFO) << QString("算法匹配结果").toStdString() << matchResponse.toStdString();
+// LOG(INFO) << QString("算法匹配结果").toStdString() << matchResponse.toStdString();
// 算法调用返回成功
if (matchResponse.size() > 0)
@@ -128,10 +128,10 @@
QString personId = messList.at(1);
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_SEARCH_SUCC;
- LOG(INFO) << QString("匹配成功[tm: %1 ms][id: %2]").arg(timer.elapsed()).arg(personId).toStdString();
+// LOG(INFO) << QString("匹配成功[tm: %1 ms][id: %2]").arg(timer.elapsed()).arg(personId).toStdString();
// 保存图像文件
- cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
+// cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_NOT_START;
emit findMatchedIris(personId, 2);
@@ -139,14 +139,14 @@
} else if (code.toInt() == -200)
{
// 匹配失败
- LOG(INFO) << QString("匹配失败: ").toStdString() << matchResponse.toStdString();
+// LOG(INFO) << QString("匹配失败: ").toStdString() << matchResponse.toStdString();
// 匹配失败则尝试次数+1
addOneTryCount();
} else if (code.toInt() == -100)
{
// 编码失败
- LOG(INFO) << QString("编码失败: ").toStdString() << matchResponse.toStdString();
+// LOG(INFO) << QString("编码失败: ").toStdString() << matchResponse.toStdString();
// 编码失败则尝试次数+1
addOneTryCount();
@@ -169,7 +169,7 @@
void IrisRecogProcess::addOneTryCount()
{
CasicIrisRecState::getInstance().tryCount++;
- LOG(DEBUG) << QString("[CasicIrisRecogProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRecogProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_NOT_START;
if (CasicIrisRecState::getInstance().tryCount >= SettingConfig::getInstance().MAX_IRIS_TRY_COUNT)
diff --git a/device/iris/IrisRegistProcess.cpp b/device/iris/IrisRegistProcess.cpp
index 7696cf3..d04ced9 100644
--- a/device/iris/IrisRegistProcess.cpp
+++ b/device/iris/IrisRegistProcess.cpp
@@ -30,7 +30,7 @@
void IrisRegistProcess::addOneTryCount()
{
CasicIrisRecState::getInstance().tryCount++;
- LOG(DEBUG) << QString("[CasicIrisRegistProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistProcess]已尝试次数[%1]").arg(CasicIrisRecState::getInstance().tryCount).toStdString();
if (CasicIrisRecState::getInstance().tryCount >= SettingConfig::getInstance().MAX_IRIS_TRY_COUNT)
{
@@ -65,26 +65,26 @@
// 图像栈中没有图像则直接返回
if (ProMemory::getInstance().isIrisQueueEmpty() == true)
{
- LOG(DEBUG) << QString("[CasicIrisRegistThread]虹膜图像栈空 暂停200ms").toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]虹膜图像栈空 暂停200ms").toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
// 取出一幅图像
CasicIrisInfo irisInfo = ProMemory::getInstance().popCasicIris();
- LOG(DEBUG) << QString("[CasicIrisRegistThread]取出一幅虹膜图").toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]取出一幅虹膜图").toStdString();
if (CasicIrisRecState::getInstance().state == CasicIrisRecState::IrisRecStateName::REC_LEFT_FIND_EYE &&
irisInfo.leftOrRight == "left")
{
// 左眼已经编码成功则不再判断左眼
- LOG(DEBUG) << QString("[CasicIrisRegistThread]左眼已经编码成功则不再判断左眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]左眼已经编码成功则不再判断左眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
this->msleep(200); // 200ms后再判断
continue;
} else if (CasicIrisRecState::getInstance().state == CasicIrisRecState::IrisRecStateName::REC_RIGHT_FIND_EYE &&
irisInfo.leftOrRight == "right"){
// 右眼已经编码成功则不再判断右眼
- LOG(DEBUG) << QString("[CasicIrisRegistThread]右眼已经编码成功则不再判断右眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]右眼已经编码成功则不再判断右眼[%1][%2]").arg(CasicIrisRecState::getInstance().state).arg(irisInfo.leftOrRight).toStdString();
this->msleep(200); // 200ms后再判断
continue;
}
@@ -96,7 +96,7 @@
if (irisInfo.hasEye == false)
{
// 表示本次识别结束, 可以开始下一次识别过程
- LOG(DEBUG) << QString("[CasicIrisRegistThread]分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
+// LOG(DEBUG) << QString("[CasicIrisRegistThread]分类器没有找到眼睛,暂停200ms[%1]").arg(CasicIrisRecState::getInstance().noEyeCount).toStdString();
addOneNoEyeCount();
// 双眼都要注册, 没找到眼不重置状态
@@ -106,7 +106,7 @@
// 找到眼睛则暂停线程工作
ProMemory::getInstance().irisRegistPro->setWorking(false);
- LOG(DEBUG) << QString("找到眼睛暂停线程工作").toStdString();
+// LOG(DEBUG) << QString("找到眼睛暂停线程工作").toStdString();
// 找到眼睛则开始质量评估和编码
// 调用远程算法进行编码
@@ -146,10 +146,10 @@
// 编码成功
if (encodeResponse.size() == 1024)
{
- LOG(DEBUG) << QString("虹膜特征值提取[耗时%1ms][%2]").arg(timer.elapsed()).arg(irisInfo.leftOrRight).toStdString();
+// LOG(DEBUG) << QString("虹膜特征值提取[耗时%1ms][%2]").arg(timer.elapsed()).arg(irisInfo.leftOrRight).toStdString();
// 保存图像文件
- cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
+// cv::imwrite(QString("D:\\irisLogs\\%1-%2.bmp").arg(QDateTime::currentDateTime().toString("HHmmsszzz")).arg(irisInfo.leftOrRight).toStdString(), irisInfo.matData);
CasicIrisRecState::getInstance().irisInfo->irisCode = encodeResponse;
diff --git a/main.cpp b/main.cpp
index 0f56ec7..f48b918 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,8 +1,31 @@
#include "CasicBioRecWin.h"
#include
+#include //闪退调试
+#include //闪退调试
-INITIALIZE_EASYLOGGINGPP // 初始化easylogging++组件库
+//INITIALIZE_EASYLOGGINGPP // 初始化easylogging++组件库
+
+
+//程式异常捕获
+LONG ApplicationCrashHandler(EXCEPTION_POINTERS *pException)
+{
+ //创建 Dump 文件
+ HANDLE hDumpFile = CreateFile(L"d://crash.dmp", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
+ if (hDumpFile != INVALID_HANDLE_VALUE)
+ {
+ //Dump信息
+ MINIDUMP_EXCEPTION_INFORMATION dumpInfo;
+ dumpInfo.ExceptionPointers = pException;
+ dumpInfo.ThreadId = GetCurrentThreadId();
+ dumpInfo.ClientPointers = TRUE;
+
+ //写入Dump文件内容
+ MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hDumpFile, MiniDumpNormal, &dumpInfo, NULL, NULL);
+ }
+
+ return EXCEPTION_EXECUTE_HANDLER;
+}
int main(int argc, char *argv[])
{
@@ -10,15 +33,18 @@
QApplication a(argc, argv);
+ //设置异常拦截
+ SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)ApplicationCrashHandler);//注冊异常捕获函数
+
// Load conf setting
- el::Configurations conf(QApplication::applicationDirPath().toStdString() + "/conf/log.conf");
- el::Loggers::reconfigureAllLoggers(conf);
+ //el::Configurations conf(QApplication::applicationDirPath().toStdString() + "/conf/log.conf");
+ //el::Loggers::reconfigureAllLoggers(conf);
// Fatal level do not stop program
- el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog);
+ //el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog);
// Init Verbose level
- el::Loggers::setVerboseLevel(9);
+ //el::Loggers::setVerboseLevel(9);
CasicBioRecWin w;
w.show();
diff --git a/utils/UtilInclude.h b/utils/UtilInclude.h
index 6019de0..70bb714 100644
--- a/utils/UtilInclude.h
+++ b/utils/UtilInclude.h
@@ -1,7 +1,10 @@
#ifndef UTILINCLUDE_H
#define UTILINCLUDE_H
-#include "easyloggingpp/easylogging++.h"
+//#define ELPP_THREAD_SAFE
+//#define ELPP_QT_LOGGING
+
+//#include "easyloggingpp/easylogging++.h"
#include "ByteUtil.h"
#include "ImageUtil.h"
#include "SelectDeptUtil.h"
diff --git a/utils/utils.pri b/utils/utils.pri
index 0e76395..94152c7 100644
--- a/utils/utils.pri
+++ b/utils/utils.pri
@@ -6,8 +6,8 @@
HEADERS += $$PWD/id/Singleton.h
HEADERS += $$PWD/id/Timer.h
-HEADERS += $$PWD/easyloggingpp/easylogging++.h
-SOURCES += $$PWD/easyloggingpp/easylogging++.cc
+#HEADERS += $$PWD/easyloggingpp/easylogging++.h
+#SOURCES += $$PWD/easyloggingpp/easylogging++.cc
HEADERS += $$PWD/SettingConfig.h
SOURCES += $$PWD/SettingConfig.cpp