优化后端结构
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
#include <algorithmThread.h>
|
||||
#include "camera_thread.h"
|
||||
#include "myiothread.h"
|
||||
#include "FrontendBackendBridge.h"
|
||||
#include <myTools.h>
|
||||
|
||||
@@ -477,7 +475,7 @@ void calculateLineSegmentDistances(const std::vector<std::pair<cv::Point, cv::Po
|
||||
|
||||
|
||||
/////////////////////ALGOTHREAD/////////////////////////
|
||||
bool algoThread::addDetTask(detData* data)
|
||||
bool algoThread::addDetTask(std::shared_ptr <detData> data)
|
||||
{
|
||||
detQueueMutex.lock();
|
||||
detQueue.append(data);
|
||||
@@ -485,7 +483,7 @@ bool algoThread::addDetTask(detData* data)
|
||||
this->start();
|
||||
return false;
|
||||
}
|
||||
bool algoThread::waitForImg(detData* data,int timeOutSet=10000)
|
||||
bool algoThread::waitForImg(std::shared_ptr <detData> data,int timeOutSet=10000)
|
||||
{
|
||||
int timeOut = 0;
|
||||
int sleepMs = 100;
|
||||
@@ -509,7 +507,7 @@ void algoThread::run()
|
||||
{
|
||||
|
||||
detQueueMutex.lock();
|
||||
detData* data = detQueue.dequeue();//取出数据
|
||||
std::shared_ptr <detData> data = detQueue.dequeue();//取出数据
|
||||
detQueueMutex.unlock();
|
||||
int threadId = data->algoThreadIndex;//获取线程id
|
||||
if (waitForImg(data) == false)
|
||||
@@ -598,7 +596,7 @@ void matsToMat(cv::Mat& mat1, cv::Mat& mat2, cv::Mat* Paint)
|
||||
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(end_time - start_time);
|
||||
std::cout << "matsToMat: " << duration.count() << " microseconds" << std::endl;
|
||||
}
|
||||
void algoThread::ALGO_Correction(detData* data)
|
||||
void algoThread::ALGO_Correction(std::shared_ptr <detData> data)
|
||||
{
|
||||
ALGO_Inspection(data);
|
||||
int pValueBounus = 100;
|
||||
@@ -732,60 +730,60 @@ void algoThread::ALGO_Correction(detData* data)
|
||||
return;
|
||||
}
|
||||
//originX
|
||||
bridge.back.sendFinsMsg("write_short_310_" + QString::number(out_Origin[0] < 0 ? 2 : 1));
|
||||
bridge.back.sendFinsMsg("write_short_311_" + QString::number(abs(static_cast<int>(out_Origin[0]))));
|
||||
_triggerManager->sendFinsMsg("write_short_310_" + QString::number(out_Origin[0] < 0 ? 2 : 1));
|
||||
_triggerManager->sendFinsMsg("write_short_311_" + QString::number(abs(static_cast<int>(out_Origin[0]))));
|
||||
double pvalue = out_Origin[0] - static_cast<int>(out_Origin[0]);
|
||||
bridge.back.sendFinsMsg("write_short_312_" + QString::number(abs(pvalue* pValueBounus)));
|
||||
_triggerManager->sendFinsMsg("write_short_312_" + QString::number(abs(pvalue* pValueBounus)));
|
||||
|
||||
//originY
|
||||
bridge.back.sendFinsMsg("write_short_313_" + QString::number(out_Origin[1] < 0 ? 2 : 1));
|
||||
bridge.back.sendFinsMsg("write_short_314_" + QString::number(abs(static_cast<int>(out_Origin[1]))));
|
||||
_triggerManager->sendFinsMsg("write_short_313_" + QString::number(out_Origin[1] < 0 ? 2 : 1));
|
||||
_triggerManager->sendFinsMsg("write_short_314_" + QString::number(abs(static_cast<int>(out_Origin[1]))));
|
||||
pvalue = out_Origin[1] - static_cast<int>(out_Origin[1]);
|
||||
bridge.back.sendFinsMsg("write_short_315_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
_triggerManager->sendFinsMsg("write_short_315_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
|
||||
//originZ
|
||||
bridge.back.sendFinsMsg("write_short_316_" + QString::number(out_Origin[2] < 0 ? 2 : 1));
|
||||
bridge.back.sendFinsMsg("write_short_317_" + QString::number(abs(static_cast<int>(out_Origin[2]))));
|
||||
_triggerManager->sendFinsMsg("write_short_316_" + QString::number(out_Origin[2] < 0 ? 2 : 1));
|
||||
_triggerManager->sendFinsMsg("write_short_317_" + QString::number(abs(static_cast<int>(out_Origin[2]))));
|
||||
pvalue = out_Origin[2] - static_cast<int>(out_Origin[2]);
|
||||
bridge.back.sendFinsMsg("write_short_318_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
_triggerManager->sendFinsMsg("write_short_318_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
|
||||
//ResultX1
|
||||
bridge.back.sendFinsMsg("write_short_319_" + QString::number(out_Result_X[0] < 0 ? 2 : 1));
|
||||
bridge.back.sendFinsMsg("write_short_320_" + QString::number(abs(static_cast<int>(out_Result_X[0]))));
|
||||
_triggerManager->sendFinsMsg("write_short_319_" + QString::number(out_Result_X[0] < 0 ? 2 : 1));
|
||||
_triggerManager->sendFinsMsg("write_short_320_" + QString::number(abs(static_cast<int>(out_Result_X[0]))));
|
||||
pvalue = out_Result_X[0] - static_cast<int>(out_Result_X[0]);
|
||||
bridge.back.sendFinsMsg("write_short_321_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
_triggerManager->sendFinsMsg("write_short_321_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
|
||||
//ResultX2
|
||||
bridge.back.sendFinsMsg("write_short_322_" + QString::number(out_Result_X[1] < 0 ? 2 : 1));
|
||||
bridge.back.sendFinsMsg("write_short_323_" + QString::number(abs(static_cast<int>(out_Result_X[1]))));
|
||||
_triggerManager->sendFinsMsg("write_short_322_" + QString::number(out_Result_X[1] < 0 ? 2 : 1));
|
||||
_triggerManager->sendFinsMsg("write_short_323_" + QString::number(abs(static_cast<int>(out_Result_X[1]))));
|
||||
pvalue = out_Result_X[1] - static_cast<int>(out_Result_X[1]);
|
||||
bridge.back.sendFinsMsg("write_short_324_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
_triggerManager->sendFinsMsg("write_short_324_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
|
||||
//ResultX3
|
||||
bridge.back.sendFinsMsg("write_short_325_" + QString::number(out_Result_X[2] < 0 ? 2 : 1));
|
||||
bridge.back.sendFinsMsg("write_short_326_" + QString::number(abs(static_cast<int>(out_Result_X[2]))));
|
||||
_triggerManager->sendFinsMsg("write_short_325_" + QString::number(out_Result_X[2] < 0 ? 2 : 1));
|
||||
_triggerManager->sendFinsMsg("write_short_326_" + QString::number(abs(static_cast<int>(out_Result_X[2]))));
|
||||
pvalue = out_Result_X[2] - static_cast<int>(out_Result_X[2]);
|
||||
bridge.back.sendFinsMsg("write_short_327_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
_triggerManager->sendFinsMsg("write_short_327_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
|
||||
//ResultY1
|
||||
bridge.back.sendFinsMsg("write_short_328_" + QString::number(out_Result_Y[0] < 0 ? 2 : 1));
|
||||
bridge.back.sendFinsMsg("write_short_329_" + QString::number(abs(static_cast<int>(out_Result_Y[0]))));
|
||||
_triggerManager->sendFinsMsg("write_short_328_" + QString::number(out_Result_Y[0] < 0 ? 2 : 1));
|
||||
_triggerManager->sendFinsMsg("write_short_329_" + QString::number(abs(static_cast<int>(out_Result_Y[0]))));
|
||||
pvalue = out_Result_Y[0] - static_cast<int>(out_Result_Y[0]);
|
||||
bridge.back.sendFinsMsg("write_short_330_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
_triggerManager->sendFinsMsg("write_short_330_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
|
||||
//ResultY2
|
||||
bridge.back.sendFinsMsg("write_short_331_" + QString::number(out_Result_Y[1] < 0 ? 2 : 1));
|
||||
bridge.back.sendFinsMsg("write_short_332_" + QString::number(abs(static_cast<int>(out_Result_Y[1]))));
|
||||
_triggerManager->sendFinsMsg("write_short_331_" + QString::number(out_Result_Y[1] < 0 ? 2 : 1));
|
||||
_triggerManager->sendFinsMsg("write_short_332_" + QString::number(abs(static_cast<int>(out_Result_Y[1]))));
|
||||
pvalue = out_Result_Y[1] - static_cast<int>(out_Result_Y[1]);
|
||||
bridge.back.sendFinsMsg("write_short_333_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
_triggerManager->sendFinsMsg("write_short_333_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
|
||||
//ResultY3
|
||||
bridge.back.sendFinsMsg("write_short_334_" + QString::number(out_Result_Y[2] < 0 ? 2 : 1));
|
||||
bridge.back.sendFinsMsg("write_short_335_" + QString::number(abs(static_cast<int>(out_Result_Y[2]))));
|
||||
_triggerManager->sendFinsMsg("write_short_334_" + QString::number(out_Result_Y[2] < 0 ? 2 : 1));
|
||||
_triggerManager->sendFinsMsg("write_short_335_" + QString::number(abs(static_cast<int>(out_Result_Y[2]))));
|
||||
pvalue = out_Result_Y[2] - static_cast<int>(out_Result_Y[2]);
|
||||
bridge.back.sendFinsMsg("write_short_336_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
_triggerManager->sendFinsMsg("write_short_336_" + QString::number(abs(pvalue * pValueBounus)));
|
||||
}
|
||||
void algoThread::ALGO_Inspection(detData* data)
|
||||
void algoThread::ALGO_Inspection(std::shared_ptr <detData> data)
|
||||
{
|
||||
if (data->imgs.size() < 1)
|
||||
{
|
||||
@@ -851,7 +849,7 @@ void algoThread::ALGO_Inspection(detData* data)
|
||||
rectangle(Paint, Result[0], cv::Scalar(0, 0, 255), 4);
|
||||
_sleep(100);
|
||||
}
|
||||
void algoThread::Camera1_Algo(detData* data)
|
||||
void algoThread::Camera1_Algo(std::shared_ptr <detData> data)
|
||||
{
|
||||
auto start_time = std::chrono::high_resolution_clock::now();
|
||||
if (data->imgs.size() < 1)
|
||||
|
||||
Reference in New Issue
Block a user