通讯巷道号后添加层号,添加变量区分2d和3d相机的png图像

master
zhou.mengjia 2 years ago
parent 4b89de7e29
commit ea2624a041

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -4,8 +4,10 @@
CameraControl::CameraControl()
{
m_calib = ILCalibNPointsPtr(__uuidof(LCalibNPoints));
m_calib->FixImageMode = LPVFixImageMode::LPVFixImageUndistortAndUntilt;
m_calib1 = ILCalibNPointsPtr(__uuidof(LCalibNPoints));
m_calib1->FixImageMode = LPVFixImageMode::LPVFixImageUndistortAndUntilt;
m_calib2 = ILCalibNPointsPtr(__uuidof(LCalibNPoints));
m_calib2->FixImageMode = LPVFixImageMode::LPVFixImageUndistortAndUntilt;
qRegisterMetaType<QVector<ImageInfo> >("QVector<ImageInfo>");
m_pobjThread = new QThread;
@ -145,7 +147,15 @@ bool CameraControl::readCameraConfig(QString filePath)
if (deviceObj.contains("calib_file"))
{
cameraInfo.calibFile = deviceObj.value("calib_file").toString();
m_calib->Load(cameraInfo.calibFile.toStdString().c_str());
if (cameraInfo.location == 1)
{
m_calib1->Load(cameraInfo.calibFile.toStdString().c_str());
}
else
{
m_calib2->Load(cameraInfo.calibFile.toStdString().c_str());
}
}
cameraInfo.saveImgSuffix = deviceObj.value("save_img_suffix").toString();
@ -507,11 +517,11 @@ Q_SLOT void CameraControl::onCapture(int cameraLocation,int location, int floor)
if (serialNumList.length() != 0)
{
qInfo() << "Captured SerialNumList = " << serialNumList;
capture(serialNumList, floor);
capture(serialNumList, location, floor);
}
}
void CameraControl::capture(const QStringList& serialNumberList, int floor)
void CameraControl::capture(const QStringList& serialNumberList, int location, int floor)
{
int len = serialNumberList.length();
//qDebug() << "start capture, length: " << len;
@ -585,9 +595,22 @@ void CameraControl::capture(const QStringList& serialNumberList, int floor)
// imgInfo.imageOrigin->SetImageData(imgInfo.image.cols, imgInfo.image.rows, (void*)imgInfo.image.data, imgInfo.image.step, 0);
//}
if (m_calib->IsCalibrated())
if (imgInfo.image3D.empty()) //±íÃæÓõÄÊÇ2DÏà»ú
{
imgInfo.bIs2D = true;
if (location == 1 && m_calib1->IsCalibrated())
{
m_calib1->FixImage(imgInfo.imageOrigin, imgInfo.imageFixed);
}
else if (location == 2 && m_calib2->IsCalibrated())
{
m_calib2->FixImage(imgInfo.imageOrigin, imgInfo.imageFixed);
}
}
else
{
m_calib->FixImage(imgInfo.imageOrigin, imgInfo.imageFixed);
imgInfo.bIs2D = false;
}
vecImageInfo.push_back(imgInfo);

@ -33,6 +33,7 @@ struct FileInfo
struct ImageInfo
{
bool bIs2D;
cv::Mat image;
cv::Mat image3D;
ILImagePtr imageOrigin;
@ -72,7 +73,7 @@ private:
Q_SLOT void onOpen();
bool getSaveImgNameInfo(QString serialNumber, FileInfo& fileInfo);
void capture(const QStringList& serialNumberList, int floor);
void capture(const QStringList& serialNumberList, int location, int floor);
bool capture(const QString& serialNumber, cv::Mat& img, cv::Mat& img3D,int exposure);
void flipImg(const cv::Mat& imgSrc, cv::Mat& imgDst, int rotationAngle);
@ -89,6 +90,6 @@ private:
QThread* m_pobjThread;
QMutex m_mutex;
ILCalibNPointsPtr m_calib;
ILCalibNPointsPtr m_calib1, m_calib2;
};
#endif // !CAMERA_CONTROL_H

@ -19,5 +19,5 @@ void HeightCalculate::LoadPointCould(QString path)
int HeightCalculate::SmokeHeight()
{
return 50;
return 30;
}

@ -175,6 +175,7 @@ void SmokeBoxIdentification::saveImage(ILImagePtr image, const cv::Mat& imgMat3D
QFile::remove(pclPath);
}
//QFile::copy("C:\\Users\\LENOVO\\Downloads\\30t.pcd",pclPath);
QFile::rename(".\\Cache\\1.pcd", pclPath);
@ -397,7 +398,10 @@ Q_SLOT void SmokeBoxIdentification::onDecodeMsg(const QString& msg)
{
qDebug() << "到位取图开始";
//m_workMode = WorkMode::Capture;
m_currtIntoStockInfo.streetName = strList.at(1);
QStringList streetInfo = strList.at(1).split("/");
m_currtIntoStockInfo.streetName = streetInfo.at(0);
m_currtIntoStockInfo.Floor = streetInfo.at(1).toInt();
m_currtIntoStockInfo.id = strList.at(2);
m_currtIntoStockInfo.taskNum = strList.at(3);
m_currtIntoStockInfo.stockLocation = strList.at(4);
@ -409,7 +413,9 @@ Q_SLOT void SmokeBoxIdentification::onDecodeMsg(const QString& msg)
{
qDebug() << "品规计数开始";
//m_workMode = WorkMode::StockCheck;
m_currtStockCheckInfo.streetName = strList.at(1);
QStringList streetInfo = strList.at(1).split("/");
m_currtStockCheckInfo.streetName = streetInfo.at(0);
m_currtStockCheckInfo.Floor = streetInfo.at(1).toInt();
m_currtStockCheckInfo.id = strList.at(2);
m_currtStockCheckInfo.taskNum = strList.at(3);
m_currtStockCheckInfo.stockLocation = strList.at(4);
@ -450,14 +456,18 @@ void SmokeBoxIdentification::calculate(int stocketID)
QVector<ImageInfo> vecImageInfo = m_imageList.value(stocket.id.toInt());
// 由于之前是多个相机拍一个库若前一个相机的图像为OK则不运行下一个
bool bIsMatch = false;
for each (const ImageInfo& imgInfo in vecImageInfo)
{
if (imgInfo.bIs2D && !bIsMatch)
{
QString str = QString("[%1]:Camera %2 Match Start ...").arg(stocket.id).arg(imgInfo.cameraSn);
qDebug() << str;
if (!imgInfo.imageFixed->Void())
{
if (m_pCategoryMatcher->smokeMatch(typeNum, imgInfo.imageFixed,stocket.id.toInt()))
if (m_pCategoryMatcher->smokeMatch(typeNum, imgInfo.imageFixed, stocket.id.toInt()))
{
str = QString("[%1]:Camera %2 Match successful!").arg(stocket.id).arg(imgInfo.cameraSn);
qDebug() << str;
@ -469,22 +479,46 @@ void SmokeBoxIdentification::calculate(int stocketID)
QString filePath = QString("%1\\%2").arg(dataSaveFolder).arg(fileName);
m_pCategoryMatcher->saveResultsImage(filePath);
bIsMatch = true;
m_stocketList[stocketID].imagesPathList.append(filePath.right(filePath.length() - 1));
}
else
{
str = QString("[%1]:Camera %2 Match Failed!").arg(stocket.id).arg(imgInfo.cameraSn);
qWarning() << str;
QString filePath = dataSaveFolder + QString("\\%1_error.PNG")
.arg(stocket.smokeTypeNum);
m_pCategoryMatcher->saveResultsImage(filePath);
m_stocketList[stocketID].imagesPathList.append(filePath.right(filePath.length() - 1));
}
m_stocketList[stocketID].imagesPathList.append(filePath.right(filePath.length()-1));
}
else
{
str = QString("[%1]:imgInfo.image is Empty!").arg(stocket.id);
qDebug() << str;
}
}
else
{
if (bIsMatch)
{
QString str = QString("[%1]:3DCamera %2 Start Calculate...").arg(stocket.id).arg(imgInfo.cameraSn);
qDebug() << str;
FileInfo fileInfo = imgInfo.saveImgInfo;
//根据相机编号对应找到3D基准文件去计算层高
QString pclPath = dataSaveFolder;
pclPath.append(QString("*.pcd").arg(fileInfo.strId));
QDir dir(pclPath);
QFileInfoList fileList = dir.entryInfoList(QStringList() << "*.pcd", QDir::Files | QDir::NoDotAndDotDot);
m_stocketList[stocketID].pcdSrc = pclPath;
if (fileList.length() > 0)
{
pclPath = fileList[0].absolutePath();
m_pHeightCalculate->LoadPointCould(fileList[0].absolutePath());
str = QString("[%1]:Camera %2 -- PointCould = %3").arg(stocket.id)
str = QString("[%1]:3DCamera %2 -- PointCould = %3").arg(stocket.id)
.arg(imgInfo.cameraSn).arg(pclPath);
qInfo() << str;
@ -495,7 +529,7 @@ void SmokeBoxIdentification::calculate(int stocketID)
}
else
{
str = QString("[%1]:Camera %2 -- PointCould[%3] can't Find!").arg(stocket.id)
str = QString("[%1]:3DCamera %2 -- PointCould[%3] can't Find!").arg(stocket.id)
.arg(imgInfo.cameraSn).arg(pclPath);
qWarning() << str;
}
@ -503,7 +537,7 @@ void SmokeBoxIdentification::calculate(int stocketID)
QString basicFile = QString("\\config\\%1.ini").arg(fileInfo.strId);
if (!QFile(basicFile).exists())
{
str = QString("[%1]:Camera %2 -- BasicFile[%3] can't Find!").arg(stocket.id)
str = QString("[%1]:3DCamera %2 -- BasicFile[%3] can't Find!").arg(stocket.id)
.arg(imgInfo.cameraSn).arg(basicFile);
qWarning() << str;
}
@ -515,24 +549,21 @@ void SmokeBoxIdentification::calculate(int stocketID)
//QFile::copy("C:\\Users\\LENOVO\\Downloads\\30t.pcd",pclPath);
QFile::rename(".\\Cache\\1.pcd", pclPath);
break;
}
else
{
str = QString("[%1]:Camera %2 Match Failed!").arg(stocket.id).arg(imgInfo.cameraSn);
qWarning() << str;
QString filePath = dataSaveFolder + QString("\\%1_error.PNG")
.arg(stocket.smokeTypeNum);
m_pCategoryMatcher->saveResultsImage(filePath);
m_stocketList[stocketID].imagesPathList.append(filePath.right(filePath.length()-1));
}
}
else
{
str = QString("[%1]:imgInfo.image is Empty!").arg(stocket.id);
QString str = QString("[%1]:Pre 2D Camera don't Match. Now Camera %2.").arg(stocket.id).arg(imgInfo.cameraSn);
qDebug() << str;
}
}
}
QSet<QString> set = QSet<QString>::fromList(m_stocketList[stocketID].imagesPathList); // ½« QStringList ת»»Îª QSet
m_stocketList[stocketID].imagesPathList = set.toList(); // ½« QSet ת»»Îª QStringList
if (!bRlt)
{
m_stocketList[stocketID].smokeTypeNumRlt = "0";
@ -655,14 +686,15 @@ void SmokeBoxIdentification::sendResults(int mode, int id)
break;
case eCommunicationRules::emSJZ:
resultInfoMsg.append(RETURN_CALCULATE).append(SPLIT_RULE)
.append(m_stocketList.value(id).streetName).append(SPLIT_RULE)
.append(m_stocketList.value(id).streetName).append("/").append(QString::number(m_stocketList.value(id).Floor)).append(SPLIT_RULE)
.append(m_stocketList.value(id).id).append(SPLIT_RULE)
.append(m_stocketList.value(id).taskNum).append(SPLIT_RULE)
.append(m_stocketList.value(id).stockLocation).append(SPLIT_RULE)
.append(m_stocketList.value(id).smokeTypeNumRlt).append(SPLIT_RULE)
.append(m_stocketList.value(id).smokeQuantityRlt).append(SPLIT_RULE)
.append(QString::number(m_stocketList.value(id).correctness)).append(SPLIT_RULE)
.append(m_stocketList.value(id).imagesPathList.join(";")).append(END_SYMBOL);
.append(m_stocketList.value(id).imagesPathList.join(";")).append(SPLIT_RULE)
.append(m_stocketList.value(id).pcdSrc).append(END_SYMBOL);
m_stocketList.remove(id);
qInfo() << "m_stocketList.remove(id) = " << id <<"; Next ="<<m_stocketList.size();
@ -692,7 +724,7 @@ void SmokeBoxIdentification::sendResults(int mode, int id)
case eCommunicationRules::emSJZ:
{
resultInfoMsg.append(END_CAPTURE).append(SPLIT_RULE)
.append(m_currtIntoStockInfo.streetName).append(SPLIT_RULE)
.append(m_currtIntoStockInfo.streetName).append("/").append(QString::number(m_currtIntoStockInfo.Floor)).append(SPLIT_RULE)
.append(m_currtIntoStockInfo.id).append(SPLIT_RULE)
.append(m_currtIntoStockInfo.taskNum).append(SPLIT_RULE)
.append(m_currtIntoStockInfo.stockLocation).append(SPLIT_RULE)

@ -154,6 +154,10 @@ struct IntoStockInfo
QString smokeQuantity; //上位机发送的数量30
int Floor = 1; //层数,表示现在拍的货物在高架库的第几层
QStringList imagesPathList;
QString pcdSrc; //盘点识别文件
bool correctness =1; //拍照成功
};
struct EmptyCheckInfo
@ -183,6 +187,10 @@ struct StockCheckInfo
QString smokeQuantityRlt; //盘点识别的数量
bool correctness; //盘点结果是否与上位机一致
QStringList imagesPathList;
QString pcdSrc; //盘点识别文件
int Floor = 1; //层数,表示现在拍的货物在高架库的第几层
//void clear()
//{
// streetName.clear();

@ -22,8 +22,8 @@ QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_CameraControl_t {
QByteArrayData data[8];
char stringdata0[95];
QByteArrayData data[10];
char stringdata0[110];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@ -39,12 +39,15 @@ QT_MOC_LITERAL(3, 31, 18), // "QVector<ImageInfo>"
QT_MOC_LITERAL(4, 50, 12), // "vecImageInfo"
QT_MOC_LITERAL(5, 63, 14), // "cameraLocation"
QT_MOC_LITERAL(6, 78, 9), // "onCapture"
QT_MOC_LITERAL(7, 88, 6) // "onOpen"
QT_MOC_LITERAL(7, 88, 8), // "location"
QT_MOC_LITERAL(8, 97, 5), // "floor"
QT_MOC_LITERAL(9, 103, 6) // "onOpen"
},
"CameraControl\0sgCapturedImage\0\0"
"QVector<ImageInfo>\0vecImageInfo\0"
"cameraLocation\0onCapture\0onOpen"
"cameraLocation\0onCapture\0location\0"
"floor\0onOpen"
};
#undef QT_MOC_LITERAL
@ -65,14 +68,14 @@ static const uint qt_meta_data_CameraControl[] = {
1, 2, 29, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
6, 1, 34, 2, 0x0a /* Public */,
7, 0, 37, 2, 0x08 /* Private */,
6, 3, 34, 2, 0x0a /* Public */,
9, 0, 41, 2, 0x08 /* Private */,
// signals: parameters
QMetaType::Void, 0x80000000 | 3, QMetaType::Int, 4, 5,
// slots: parameters
QMetaType::Void, QMetaType::Int, 5,
QMetaType::Void, QMetaType::Int, QMetaType::Int, QMetaType::Int, 5, 7, 8,
QMetaType::Void,
0 // eod
@ -85,7 +88,7 @@ void CameraControl::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _i
Q_UNUSED(_t)
switch (_id) {
case 0: _t->sgCapturedImage((*reinterpret_cast< const QVector<ImageInfo>(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
case 1: _t->onCapture((*reinterpret_cast< int(*)>(_a[1]))); break;
case 1: _t->onCapture((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break;
case 2: _t->onOpen(); break;
default: ;
}

@ -1,16 +1,16 @@
/****************************************************************************
** Meta object code from reading C++ file 'CalculateHeight.h'
** Meta object code from reading C++ file 'HeightCalculate.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.9.4)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../../src/CalculateHeight.h"
#include "../../../../src/HeightCalculate.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'CalculateHeight.h' doesn't include <QObject>."
#error "The header file 'HeightCalculate.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.9.4. It"
#error "cannot be used with the include files from this version of Qt."
@ -20,25 +20,25 @@
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_CalculateHeight_t {
struct qt_meta_stringdata_HeightCalculate_t {
QByteArrayData data[1];
char stringdata0[16];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_CalculateHeight_t, stringdata0) + ofs \
qptrdiff(offsetof(qt_meta_stringdata_HeightCalculate_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_CalculateHeight_t qt_meta_stringdata_CalculateHeight = {
static const qt_meta_stringdata_HeightCalculate_t qt_meta_stringdata_HeightCalculate = {
{
QT_MOC_LITERAL(0, 0, 15) // "CalculateHeight"
QT_MOC_LITERAL(0, 0, 15) // "HeightCalculate"
},
"CalculateHeight"
"HeightCalculate"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_CalculateHeight[] = {
static const uint qt_meta_data_HeightCalculate[] = {
// content:
7, // revision
@ -54,7 +54,7 @@ static const uint qt_meta_data_CalculateHeight[] = {
0 // eod
};
void CalculateHeight::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
void HeightCalculate::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
@ -62,26 +62,26 @@ void CalculateHeight::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int
Q_UNUSED(_a);
}
const QMetaObject CalculateHeight::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_CalculateHeight.data,
qt_meta_data_CalculateHeight, qt_static_metacall, nullptr, nullptr}
const QMetaObject HeightCalculate::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_HeightCalculate.data,
qt_meta_data_HeightCalculate, qt_static_metacall, nullptr, nullptr}
};
const QMetaObject *CalculateHeight::metaObject() const
const QMetaObject *HeightCalculate::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *CalculateHeight::qt_metacast(const char *_clname)
void *HeightCalculate::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_CalculateHeight.stringdata0))
if (!strcmp(_clname, qt_meta_stringdata_HeightCalculate.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int CalculateHeight::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
int HeightCalculate::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
return _id;

@ -1,16 +1,16 @@
/****************************************************************************
** Meta object code from reading C++ file 'TofCamera.h'
** Meta object code from reading C++ file 'LXCamera.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.9.4)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../../../src/TofCamera.h"
#include "../../../../src/LXCamera.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'TofCamera.h' doesn't include <QObject>."
#error "The header file 'LXCamera.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.9.4. It"
#error "cannot be used with the include files from this version of Qt."
@ -20,25 +20,25 @@
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_TofCamera_t {
struct qt_meta_stringdata_LXCamera_t {
QByteArrayData data[1];
char stringdata0[10];
char stringdata0[9];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_TofCamera_t, stringdata0) + ofs \
qptrdiff(offsetof(qt_meta_stringdata_LXCamera_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_TofCamera_t qt_meta_stringdata_TofCamera = {
static const qt_meta_stringdata_LXCamera_t qt_meta_stringdata_LXCamera = {
{
QT_MOC_LITERAL(0, 0, 9) // "TofCamera"
QT_MOC_LITERAL(0, 0, 8) // "LXCamera"
},
"TofCamera"
"LXCamera"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_TofCamera[] = {
static const uint qt_meta_data_LXCamera[] = {
// content:
7, // revision
@ -54,7 +54,7 @@ static const uint qt_meta_data_TofCamera[] = {
0 // eod
};
void TofCamera::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
void LXCamera::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
@ -62,28 +62,28 @@ void TofCamera::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, v
Q_UNUSED(_a);
}
const QMetaObject TofCamera::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_TofCamera.data,
qt_meta_data_TofCamera, qt_static_metacall, nullptr, nullptr}
const QMetaObject LXCamera::staticMetaObject = {
{ &Camera::staticMetaObject, qt_meta_stringdata_LXCamera.data,
qt_meta_data_LXCamera, qt_static_metacall, nullptr, nullptr}
};
const QMetaObject *TofCamera::metaObject() const
const QMetaObject *LXCamera::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *TofCamera::qt_metacast(const char *_clname)
void *LXCamera::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_TofCamera.stringdata0))
if (!strcmp(_clname, qt_meta_stringdata_LXCamera.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
return Camera::qt_metacast(_clname);
}
int TofCamera::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
int LXCamera::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
_id = Camera::qt_metacall(_c, _id, _a);
return _id;
}
QT_WARNING_POP

@ -22,8 +22,8 @@ QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_SmokeBoxIdentification_t {
QByteArrayData data[38];
char stringdata0[552];
QByteArrayData data[40];
char stringdata0[570];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
@ -36,46 +36,49 @@ QT_MOC_LITERAL(0, 0, 22), // "SmokeBoxIdentification"
QT_MOC_LITERAL(1, 23, 9), // "sgCapture"
QT_MOC_LITERAL(2, 33, 0), // ""
QT_MOC_LITERAL(3, 34, 14), // "cameraLocation"
QT_MOC_LITERAL(4, 49, 23), // "sgCategoryMatchFinished"
QT_MOC_LITERAL(5, 73, 8), // "smokeNum"
QT_MOC_LITERAL(6, 82, 11), // "sgShowImage"
QT_MOC_LITERAL(7, 94, 7), // "QLabel*"
QT_MOC_LITERAL(8, 102, 8), // "labelPtr"
QT_MOC_LITERAL(9, 111, 6), // "qImage"
QT_MOC_LITERAL(10, 118, 21), // "sgNumDataCollectStart"
QT_MOC_LITERAL(11, 140, 6), // "sideId"
QT_MOC_LITERAL(12, 147, 20), // "sgNumDataCollectStop"
QT_MOC_LITERAL(13, 168, 22), // "sgStartEmptyPlaceCheck"
QT_MOC_LITERAL(14, 191, 10), // "streetName"
QT_MOC_LITERAL(15, 202, 21), // "sgStopEmptyPlaceCheck"
QT_MOC_LITERAL(16, 224, 18), // "sgControlSideLight"
QT_MOC_LITERAL(17, 243, 9), // "sgSendMsg"
QT_MOC_LITERAL(18, 253, 3), // "msg"
QT_MOC_LITERAL(19, 257, 11), // "onDecodeMsg"
QT_MOC_LITERAL(20, 269, 15), // "onCapturedImage"
QT_MOC_LITERAL(21, 285, 18), // "QVector<ImageInfo>"
QT_MOC_LITERAL(22, 304, 12), // "vecImageInfo"
QT_MOC_LITERAL(23, 317, 14), // "camearLocation"
QT_MOC_LITERAL(24, 332, 14), // "onNumStatistic"
QT_MOC_LITERAL(25, 347, 7), // "typeNum"
QT_MOC_LITERAL(26, 355, 11), // "onShowImage"
QT_MOC_LITERAL(27, 367, 27), // "onMonitorSensorTriggerStart"
QT_MOC_LITERAL(28, 395, 26), // "onMonitorSensorTriggerStop"
QT_MOC_LITERAL(29, 422, 15), // "onActionClicked"
QT_MOC_LITERAL(30, 438, 23), // "onSendEmptyCheckResults"
QT_MOC_LITERAL(31, 462, 17), // "QMap<QString,int>"
QT_MOC_LITERAL(32, 480, 12), // "onNewNumData"
QT_MOC_LITERAL(33, 493, 25), // "QVector<QVector<double> >"
QT_MOC_LITERAL(34, 519, 3), // "vec"
QT_MOC_LITERAL(35, 523, 16), // "QVector<QString>"
QT_MOC_LITERAL(36, 540, 6), // "strVec"
QT_MOC_LITERAL(37, 547, 4) // "side"
QT_MOC_LITERAL(4, 49, 8), // "cameraID"
QT_MOC_LITERAL(5, 58, 8), // "exposure"
QT_MOC_LITERAL(6, 67, 23), // "sgCategoryMatchFinished"
QT_MOC_LITERAL(7, 91, 8), // "smokeNum"
QT_MOC_LITERAL(8, 100, 11), // "sgShowImage"
QT_MOC_LITERAL(9, 112, 7), // "QLabel*"
QT_MOC_LITERAL(10, 120, 8), // "labelPtr"
QT_MOC_LITERAL(11, 129, 6), // "qImage"
QT_MOC_LITERAL(12, 136, 21), // "sgNumDataCollectStart"
QT_MOC_LITERAL(13, 158, 6), // "sideId"
QT_MOC_LITERAL(14, 165, 20), // "sgNumDataCollectStop"
QT_MOC_LITERAL(15, 186, 22), // "sgStartEmptyPlaceCheck"
QT_MOC_LITERAL(16, 209, 10), // "streetName"
QT_MOC_LITERAL(17, 220, 21), // "sgStopEmptyPlaceCheck"
QT_MOC_LITERAL(18, 242, 18), // "sgControlSideLight"
QT_MOC_LITERAL(19, 261, 9), // "sgSendMsg"
QT_MOC_LITERAL(20, 271, 3), // "msg"
QT_MOC_LITERAL(21, 275, 11), // "onDecodeMsg"
QT_MOC_LITERAL(22, 287, 15), // "onCapturedImage"
QT_MOC_LITERAL(23, 303, 18), // "QVector<ImageInfo>"
QT_MOC_LITERAL(24, 322, 12), // "vecImageInfo"
QT_MOC_LITERAL(25, 335, 14), // "camearLocation"
QT_MOC_LITERAL(26, 350, 14), // "onNumStatistic"
QT_MOC_LITERAL(27, 365, 7), // "typeNum"
QT_MOC_LITERAL(28, 373, 11), // "onShowImage"
QT_MOC_LITERAL(29, 385, 27), // "onMonitorSensorTriggerStart"
QT_MOC_LITERAL(30, 413, 26), // "onMonitorSensorTriggerStop"
QT_MOC_LITERAL(31, 440, 15), // "onActionClicked"
QT_MOC_LITERAL(32, 456, 23), // "onSendEmptyCheckResults"
QT_MOC_LITERAL(33, 480, 17), // "QMap<QString,int>"
QT_MOC_LITERAL(34, 498, 12), // "onNewNumData"
QT_MOC_LITERAL(35, 511, 25), // "QVector<QVector<double> >"
QT_MOC_LITERAL(36, 537, 3), // "vec"
QT_MOC_LITERAL(37, 541, 16), // "QVector<QString>"
QT_MOC_LITERAL(38, 558, 6), // "strVec"
QT_MOC_LITERAL(39, 565, 4) // "side"
},
"SmokeBoxIdentification\0sgCapture\0\0"
"cameraLocation\0sgCategoryMatchFinished\0"
"smokeNum\0sgShowImage\0QLabel*\0labelPtr\0"
"qImage\0sgNumDataCollectStart\0sideId\0"
"cameraLocation\0cameraID\0exposure\0"
"sgCategoryMatchFinished\0smokeNum\0"
"sgShowImage\0QLabel*\0labelPtr\0qImage\0"
"sgNumDataCollectStart\0sideId\0"
"sgNumDataCollectStop\0sgStartEmptyPlaceCheck\0"
"streetName\0sgStopEmptyPlaceCheck\0"
"sgControlSideLight\0sgSendMsg\0msg\0"
@ -104,48 +107,48 @@ static const uint qt_meta_data_SmokeBoxIdentification[] = {
9, // signalCount
// signals: name, argc, parameters, tag, flags
1, 1, 104, 2, 0x06 /* Public */,
4, 1, 107, 2, 0x06 /* Public */,
6, 2, 110, 2, 0x06 /* Public */,
10, 1, 115, 2, 0x06 /* Public */,
12, 0, 118, 2, 0x06 /* Public */,
13, 1, 119, 2, 0x06 /* Public */,
15, 0, 122, 2, 0x06 /* Public */,
16, 1, 123, 2, 0x06 /* Public */,
17, 1, 126, 2, 0x06 /* Public */,
1, 3, 104, 2, 0x06 /* Public */,
6, 1, 111, 2, 0x06 /* Public */,
8, 2, 114, 2, 0x06 /* Public */,
12, 1, 119, 2, 0x06 /* Public */,
14, 0, 122, 2, 0x06 /* Public */,
15, 1, 123, 2, 0x06 /* Public */,
17, 0, 126, 2, 0x06 /* Public */,
18, 1, 127, 2, 0x06 /* Public */,
19, 1, 130, 2, 0x06 /* Public */,
// slots: name, argc, parameters, tag, flags
19, 1, 129, 2, 0x08 /* Private */,
20, 2, 132, 2, 0x08 /* Private */,
24, 1, 137, 2, 0x08 /* Private */,
26, 2, 140, 2, 0x08 /* Private */,
27, 1, 145, 2, 0x08 /* Private */,
28, 1, 148, 2, 0x08 /* Private */,
29, 0, 151, 2, 0x08 /* Private */,
21, 1, 133, 2, 0x08 /* Private */,
22, 2, 136, 2, 0x08 /* Private */,
26, 1, 141, 2, 0x08 /* Private */,
28, 2, 144, 2, 0x08 /* Private */,
29, 1, 149, 2, 0x08 /* Private */,
30, 1, 152, 2, 0x08 /* Private */,
32, 3, 155, 2, 0x08 /* Private */,
31, 0, 155, 2, 0x08 /* Private */,
32, 1, 156, 2, 0x08 /* Private */,
34, 3, 159, 2, 0x08 /* Private */,
// signals: parameters
QMetaType::Void, QMetaType::Int, 3,
QMetaType::Void, QMetaType::QString, 5,
QMetaType::Void, 0x80000000 | 7, QMetaType::QImage, 8, 9,
QMetaType::Void, QMetaType::Int, 11,
QMetaType::Void, QMetaType::Int, QMetaType::Int, QMetaType::Int, 3, 4, 5,
QMetaType::Void, QMetaType::QString, 7,
QMetaType::Void, 0x80000000 | 9, QMetaType::QImage, 10, 11,
QMetaType::Void, QMetaType::Int, 13,
QMetaType::Void,
QMetaType::Void, QMetaType::QString, 14,
QMetaType::Void, QMetaType::QString, 16,
QMetaType::Void,
QMetaType::Void, QMetaType::Int, 2,
QMetaType::Void, QMetaType::QString, 18,
QMetaType::Void, QMetaType::QString, 20,
// slots: parameters
QMetaType::Void, QMetaType::QString, 18,
QMetaType::Void, 0x80000000 | 21, QMetaType::Int, 22, 23,
QMetaType::Void, QMetaType::QString, 25,
QMetaType::Void, 0x80000000 | 7, QMetaType::QImage, 8, 9,
QMetaType::Void, QMetaType::QString, 20,
QMetaType::Void, 0x80000000 | 23, QMetaType::Int, 24, 25,
QMetaType::Void, QMetaType::QString, 27,
QMetaType::Void, 0x80000000 | 9, QMetaType::QImage, 10, 11,
QMetaType::Void, QMetaType::Int, 2,
QMetaType::Void, QMetaType::Int, 2,
QMetaType::Void,
QMetaType::Void, 0x80000000 | 31, 2,
QMetaType::Void, 0x80000000 | 33, 0x80000000 | 35, QMetaType::Int, 34, 36, 37,
QMetaType::Void, 0x80000000 | 33, 2,
QMetaType::Void, 0x80000000 | 35, 0x80000000 | 37, QMetaType::Int, 36, 38, 39,
0 // eod
};
@ -156,7 +159,7 @@ void SmokeBoxIdentification::qt_static_metacall(QObject *_o, QMetaObject::Call _
SmokeBoxIdentification *_t = static_cast<SmokeBoxIdentification *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->sgCapture((*reinterpret_cast< int(*)>(_a[1]))); break;
case 0: _t->sgCapture((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break;
case 1: _t->sgCategoryMatchFinished((*reinterpret_cast< QString(*)>(_a[1]))); break;
case 2: _t->sgShowImage((*reinterpret_cast< QLabel*(*)>(_a[1])),(*reinterpret_cast< const QImage(*)>(_a[2]))); break;
case 3: _t->sgNumDataCollectStart((*reinterpret_cast< int(*)>(_a[1]))); break;
@ -206,7 +209,7 @@ void SmokeBoxIdentification::qt_static_metacall(QObject *_o, QMetaObject::Call _
} else if (_c == QMetaObject::IndexOfMethod) {
int *result = reinterpret_cast<int *>(_a[0]);
{
typedef void (SmokeBoxIdentification::*_t)(int );
typedef void (SmokeBoxIdentification::*_t)(int , int , int );
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&SmokeBoxIdentification::sgCapture)) {
*result = 0;
return;
@ -308,9 +311,9 @@ int SmokeBoxIdentification::qt_metacall(QMetaObject::Call _c, int _id, void **_a
}
// SIGNAL 0
void SmokeBoxIdentification::sgCapture(int _t1)
void SmokeBoxIdentification::sgCapture(int _t1, int _t2, int _t3)
{
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)) };
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(&_t1)), const_cast<void*>(reinterpret_cast<const void*>(&_t2)), const_cast<void*>(reinterpret_cast<const void*>(&_t3)) };
QMetaObject::activate(this, &staticMetaObject, 0, _a);
}

@ -1,114 +0,0 @@
/****************************************************************************
** Meta object code from reading C++ file 'Calculate.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.9.4)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include "../../Calculate.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'Calculate.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.9.4. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_Calculate_t {
QByteArrayData data[3];
char stringdata0[17];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_Calculate_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_Calculate_t qt_meta_stringdata_Calculate = {
{
QT_MOC_LITERAL(0, 0, 9), // "Calculate"
QT_MOC_LITERAL(1, 10, 5), // "start"
QT_MOC_LITERAL(2, 16, 0) // ""
},
"Calculate\0start\0"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_Calculate[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 0, 19, 2, 0x08 /* Private */,
// slots: parameters
QMetaType::Void,
0 // eod
};
void Calculate::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
Calculate *_t = static_cast<Calculate *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->start(); break;
default: ;
}
}
Q_UNUSED(_a);
}
const QMetaObject Calculate::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_Calculate.data,
qt_meta_data_Calculate, qt_static_metacall, nullptr, nullptr}
};
const QMetaObject *Calculate::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *Calculate::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_Calculate.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int Calculate::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
}
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

@ -18,7 +18,7 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
@ -88,7 +88,7 @@
<ClCompile>
<PreprocessorDefinitions>UNICODE;_UNICODE;WIN32;WIN64;QT_DLL;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;QT_NETWORK_LIB;QT_SERIALPORT_LIB;QT_WIDGETS_LIB;QT_WINEXTRAS_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>.\GeneratedFiles;.;..\..\src;..\..\src\libzkq;..\..\src\lpSerial;..\..\src\lpSerial\include;..\..\src\numStatisticAlgo;..\..\src\MVCameraDriver;..\..\src\common;..\..\src\lpv;..\..\3rdparty\opencv\include;..\..\3rdparty\opencv\include\opencv;..\..\3rdparty\opencv\include\opencv2;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtNetwork;$(QTDIR)\include\QtSerialPort;$(QTDIR)\include\QtWebSockets;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtWinExtras;$(QTDIR)\include\QtXlsx;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DebugInformationFormat />
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
</ClCompile>
@ -96,7 +96,7 @@
<SubSystem>Windows</SubSystem>
<OutputFile>$(OutDir)smokeBox.exe</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(MVCAM_COMMON_RUNENV)\Libraries\win64;$(SolutionDir)..\3rdparty\lib;$(SolutionDir)$(Platform)\$(Configuration)\;$(SolutionDir)..\3rdparty\opencv\lib;$(SolutionDir)..\3rdparty\qxlsx\lib;$(SolutionDir)..\tpvs17\x64\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5Gui.lib;Qt5Network.lib;Qt5QuickWidgets.lib;Qt5SerialPort.lib;Qt5WebSockets.lib;Qt5Widgets.lib;Qt5Xlsx.lib;opencv_world341.lib;MvCameraControl.lib;numStatisticAlgo.lib;lpSerial.lib;libzkq.lib;LxCameraApi.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<QtMoc>

Loading…
Cancel
Save