This commit is contained in:
2024-06-26 11:15:14 +08:00
parent 5cc10dd7ba
commit 1eb424a80c
9 changed files with 75 additions and 15 deletions
Binary file not shown.
Binary file not shown.
@@ -215,6 +215,7 @@ void ALGO_Inspection(std::shared_ptr <detData> data, handleAiModelManager* _hand
qDebug() << __FUNCDNAME__ << __LINE__ << "errorCheck ERR"<< errorCode;
return;
}
data->algoStartTime = std::chrono::high_resolution_clock::now();
cv::Mat src = data->oriImgs[0];
//使用det获取每个公头的位置
std::vector<handdleAI::Bbox> detResult = pinDetEvaluate(data,src, _handleAiModelManager);
@@ -59,6 +59,7 @@ signals:
void resetDashBoard();//reset dashBoard
void switchStartBtnStatusSignal(int);
void addShowPerformanceWidgetData(int index,int timeCost);
void addCtData(int index, int value);
void resetShowPerformanceWidget();
};
#endif
@@ -109,8 +109,22 @@ void threadManager::resultHandle(std::shared_ptr <detData> data)
cnt++;
}
}
emit _backEndManager->addDashBoardData(1, data->aiDetOK);
emit _backEndManager->addDashBoardData(0, data->halconOK);
if(data->armPos != -1)
{
emit _backEndManager->addDashBoardData(1, data->aiDetOK);
emit _backEndManager->addDashBoardData(0, data->halconOK);
}
auto totalCt = std::chrono::duration_cast<std::chrono::milliseconds>(data->halconEndTime - data->algoStartTime);
auto aiCt = std::chrono::duration_cast<std::chrono::milliseconds>(data->handleAiEndTime - data->algoStartTime);
auto halconCt = std::chrono::duration_cast<std::chrono::milliseconds>(data->halconEndTime - data->handleAiEndTime);
if (totalCt.count() > 0)
emit _backEndManager->addCtData(0, totalCt.count());
if (aiCt.count() > 0)
emit _backEndManager->addCtData(1, aiCt.count());
if (halconCt.count() > 0)
emit _backEndManager->addCtData(2, halconCt.count());
//std::cout << "ct1" << totalCt.count() << "ct2" << aiCt.count() << "ct3" << halconCt.count() << std::endl;
//SQL
std::vector<sqlData> sqlDatas;
for (auto sqlData : data->sqlVec)
+1
View File
@@ -22,6 +22,7 @@ void connectSignalAndSlots(MainWindow* front, backEndManager* back)
QObject::connect(back, &backEndManager::sendInitString, front, &MainWindow::recvInitString);
QObject::connect(back, &backEndManager::sendInitFinished, front, &MainWindow::recvInitFinished);
QObject::connect(back, &backEndManager::addDashBoardData, front, &MainWindow::addDashBoardData);
QObject::connect(back, &backEndManager::addCtData, front, &MainWindow::addCtData);
QObject::connect(back, &backEndManager::addHistoryDataSignal, front, &MainWindow::addDetHistoryData);
QObject::connect(back, &backEndManager::switchStartBtnStatusSignal,
front->_displayWidget->_switchProductWidget, &switchProductWidget::switchStartBtnStatus);
+15
View File
@@ -241,6 +241,21 @@ public slots:
else
_displayWidget->_summaryDataManager->dashBoardWidgets[index]->addNG();
}
void addCtData(int index, int value)
{
switch (index)
{
case 0:
_displayWidget->_summaryDataManager->totalCtBar->addData(value);
break;
case 1:
_displayWidget->_summaryDataManager->halconCtBar->addData(value);
break;
case 2:
_displayWidget->_summaryDataManager->aiCtBar->addData(value);
break;
}
}
//void resetDashBoard();//reset dashBoard
//void addShowPerformanceWidgetData(int index, int timeCost);
@@ -44,6 +44,19 @@ public:
{
return QSize(100, 60);
}
void addData(int value)
{
maxValue = std::max(value, maxValue);
minValue = std::min(value, minValue);
currentValue = value;
if((maxValue - minValue) ==0)
setProgress(1);
else if (value == 0)
setProgress(0);
else
setProgress( value/(maxValue - minValue));
}
void setProgress(double newProgress)
{
if (newProgress < 0.0) {
@@ -70,9 +83,17 @@ protected:
// Draw frequency text
painter.setPen(Qt::white);
painter.drawText(rect.adjusted(10, 10, -10, 10), Qt::AlignLeft | Qt::AlignTop, QString::number(minValue));
painter.drawText(rect.adjusted(10, 10, -10, 10), Qt::AlignHCenter | Qt::AlignTop, QString::number(minValue));
painter.drawText(rect.adjusted(10, 10, -10, 10), Qt::AlignRight | Qt::AlignTop, QString::number(maxValue));
if (maxValue == INT_MIN)
painter.drawText(rect.adjusted(10, 10, -10, 10), Qt::AlignLeft | Qt::AlignTop, "0ms");
else
painter.drawText(rect.adjusted(10, 10, -10, 10), Qt::AlignLeft | Qt::AlignTop, QString::number(minValue) + "ms");
painter.drawText(rect.adjusted(10, 10, -10, 10), Qt::AlignHCenter | Qt::AlignTop, QString::number(currentValue) + "ms");
if (maxValue == INT_MIN)
painter.drawText(rect.adjusted(10, 10, -10, 10), Qt::AlignRight | Qt::AlignTop, "0ms");
else
painter.drawText(rect.adjusted(10, 10, -10, 10), Qt::AlignRight | Qt::AlignTop, QString::number(maxValue) + "ms");
painter.drawText(rect.adjusted(10, 30, -10, -10), Qt::AlignLeft | Qt::AlignTop, "min");
painter.drawText(rect.adjusted(10, 30, -10, -10), Qt::AlignHCenter | Qt::AlignTop, title);
@@ -99,11 +120,13 @@ protected:
int x = barRect.left() + i * (barRect.width() / numTicks);
painter.drawLine(x, barRect.top(), x, barRect.bottom());
}
init = true;
}
private:
bool init = false;
QString title;
int maxValue = CHAR_MAX,minValue=CHAR_MIN;
int maxValue = INT_MIN, minValue = INT_MAX, currentValue = 0;
int frequency =50;
double progress;
};
@@ -118,6 +118,9 @@ class summaryDataManager : public QObject
public:
fancyWidget* widget;
std::vector< dashBoradDataWidget*> dashBoardWidgets;
FrequencyBar* totalCtBar;
FrequencyBar* halconCtBar;
FrequencyBar* aiCtBar;
summaryDataManager()
{
QPalette palette;
@@ -142,15 +145,17 @@ public:
layout->addWidget(_dashBoradDataWidget);
layout->addWidget(_dashBoradDataWidget2);
FrequencyBar* progressBar=new FrequencyBar("totalCT");
progressBar->setProgress(0.5);
layout->addWidget(progressBar);
FrequencyBar* progressBar2 = new FrequencyBar("cc_ImageCT");
progressBar2->setProgress(0.3);
layout->addWidget(progressBar2);
FrequencyBar* progressBar3 = new FrequencyBar("ai_ImageCT");
progressBar3->setProgress(0.8);
layout->addWidget(progressBar3);
totalCtBar =new FrequencyBar("totalCT");
totalCtBar->setProgress(0.0);
layout->addWidget(totalCtBar);
halconCtBar = new FrequencyBar("cc_ImageCT");
halconCtBar->setProgress(0.0);
layout->addWidget(halconCtBar);
aiCtBar = new FrequencyBar("ai_ImageCT");
aiCtBar->setProgress(0.0);
layout->addWidget(aiCtBar);
}
public slots:
void resetAllValue()