#include "ProMemory.h" ProMemory::ProMemory() { } ProMemory::~ProMemory() { } void ProMemory::pushCasicIris(CasicIrisInfo irisInfo) { QMutex mutex; mutex.lock(); if (this->irisQueue.size() > 30) { QStack<CasicIrisInfo> empty; std::swap(empty, irisQueue); } irisQueue.push(irisInfo); mutex.unlock(); } CasicIrisInfo ProMemory::popCasicIris() { CasicIrisInfo result; QMutex mutex; mutex.lock(); if (this->irisQueue.size() > 0) { result = irisQueue.pop(); } mutex.unlock(); return result; } int ProMemory::getIrisQueueSize() { int size = 0; QMutex mutex; mutex.lock(); size = this->irisQueue.size(); mutex.unlock(); return size; } bool ProMemory::isIrisQueueEmpty() { bool empty = true; QMutex mutex; mutex.lock(); empty = this->irisQueue.isEmpty(); mutex.unlock(); return empty; } void ProMemory::clearIrisQueue() { QMutex mutex; mutex.lock(); QStack<CasicIrisInfo> empty; std::swap(empty, irisQueue); mutex.unlock(); } void ProMemory::initIrisFeatures() { CasicIrisFeature leftFeature; leftFeature.irisId = 1; leftFeature.personId = "11"; leftFeature.irisCode = cv::imread("d:\\irisLogs\\photo\\184300-code.bmp", 0); leftFeature.maskNorm = cv::imread("d:\\irisLogs\\photo\\184300-mask.bmp", 0); /* CasicIrisFeature rightFeature; rightFeature.irisId = 2; rightFeature.personId = "11"; rightFeature.irisCode = cv::imread("d:\\irisLogs\\photo\\165136-code.bmp", 0); rightFeature.maskNorm = cv::imread("d:\\irisLogs\\photo\\165136-mask.bmp", 0); */ this->irisFeatures.append(leftFeature); // this->irisFeatures.append(rightFeature); } /* void ProMemory::initIrisFeatures(QString personId) { // irisRegistPro->sendDataToExract(QByteArray(QString("[-u]").append(personId).toLocal8Bit())); } */ QVector<CasicIrisFeature> ProMemory::getIrisFeatures() { return this->irisFeatures; }