Newer
Older
CasicIrisIdentify / ProMemory.cpp
TAN YUE on 15 Nov 2023 1 KB 20231115 识别调试
#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;
}