This commit is contained in:
2024-11-02 01:15:48 +08:00
parent 0b75969716
commit 24c135e43c
7 changed files with 15 additions and 46 deletions
+4 -3
View File
@@ -3,6 +3,7 @@
################################################################################
/.vs
/.out
/.lib
/.bin
/out
/lib
/bin
/env
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -328,10 +328,11 @@ bool Hd_3DCameraLMI_module::sendData(std::vector<cv::Mat>& vecPic, QByteArray &d
if (queuePic.empty())
{
//qDebug() << " [Error] " << " srcImage is null";
genBlackImg(vecPic);
//genBlackImg(vecPic);
m_mutex->unlock();
return false;
}
triggerIng = false;
vector<cv::Mat> dstvec = queuePic.dequeue();
queuePic.clear();
m_mutex->unlock();
@@ -380,59 +381,25 @@ bool Hd_3DCameraLMI_module::run()
//qDebug() << "[info]" << __FUNCTION__ << " line:" << __LINE__ << " run start" << id;
try
{
//方法1 超时机制
// queuePic.clear();
//int timeOut = 0;
//while (timeOut < 500)//ms
//{
// m_mutex->lock();
// if (queuePic.size() > 0)
// {
// result = true;
// m_mutex->unlock();
// return true;
// }
// m_mutex->unlock();
// timeOut ++;
// QThread::msleep(1);//修改了睡眠1ms
//}
//方法2 在下一次触发时强制给上一次触发补黑图
m_mutex->lock();
if (triggerIng == true)//仍然在处理上一次触发
{
std::vector<cv::Mat>imgs;
genBlackImg(imgs);
m_mutex->lock();
queuePic.enqueue(imgs);
m_mutex->unlock();
int cnt = 0;
while (queuePic.size() > 0 || cnt < 100)
while (queuePic.size() > 0 && cnt < 30)
{
QThread::msleep(1);
cnt++;
if (cnt > 10)
qDebug() << "insert black img 2 long";
qDebug() << "insert black img 2 long queueSize"<< queuePic.size();
}
}
else
{
triggerIng = true;
m_mutex->unlock();
}
//强制给上一次触发补黑图 结束
while (true)
{
m_mutex->lock();
if (queuePic.size() > 0)
{
result = true;
triggerIng = false;
m_mutex->unlock();
return true;
}
m_mutex->unlock();
QThread::msleep(1);
}
}
catch (QString ev)
{
@@ -310,7 +310,7 @@ bool Hd_MvCamera_module::reciveData(std::vector<cv::Mat>& mat, QByteArray& data)
bool Hd_MvCamera_module::initParas(QByteArray&)
{
//return true;
return true;
if (!Username.compare("dummy"))
{
qDebug() << "[INFO] " << " start" << "--UserName: dummy creat sucess";
+4 -3
View File
@@ -9,6 +9,7 @@
#include <simpleSiemensTcp.hpp>
#include <back/hearbeatThread.h>
#include <summaryData.hpp>
#include <hardwareMonitor.hpp>
class detProcess : public QThread
{
public:
@@ -45,14 +46,14 @@ public:
cameraManager _cameraManager;//相机
lightSourceManager _lightSourceManager;//光源
triggerManager _triggerManager;//MODBUS触发器
triggerManager _triggerManager;//触发器
manualDetThread _manualDetThread;//手动触发线程
heartbeatThread* _heartbeatThread;//心跳线程
summaryData* _summaryData;// 汇总数据
autoDelete* autoDeleteThread;
hardwareMonitor _hardwareMonitor;//硬件监控 CPU 内存
//相机
camera* _2dCamera, *_3dCamera;
camera* _2dCamera = nullptr, *_3dCamera = nullptr;
//初始化
void run()
{