添加3D处理框架

master
zhou.mengjia 2 years ago
parent 0b11a26c29
commit dbd307daed

@ -34,6 +34,12 @@ Camera.json中id是给相机的编号可以用于区分石家庄项目中的
3、3D tof相机接入但目前点云.pcd是没有颜色数据另外
目前采取的方案是相机采图的时候直接调用点云生成函数在某个缓存路径下由于未知点云的带颜色的数据能否以Mat格式传递故而直接选择缓存一份->迁移+改成规范的文件名)
—————————————————————— ——————————————————————
之前海康相机是手动改为黑白图像,然后代码里暂不支持彩色图像输入(需改) 之前海康相机是手动改为黑白图像,然后代码里暂不支持彩色图像输入(需改)

File diff suppressed because it is too large Load Diff

@ -79,7 +79,6 @@
"exposure": 10000, "exposure": 10000,
"location": 1, "location": 1,
"save_img_suffix": ".BMP", "save_img_suffix": ".BMP",
"basic_file": ".\\config\\right.ini",
"height": 3072, "height": 3072,
"width": 2048, "width": 2048,
"type": 210 "type": 210

Binary file not shown.

@ -147,10 +147,6 @@ bool CameraControl::readCameraConfig(QString filePath)
cameraInfo.calibFile = deviceObj.value("calib_file").toString(); cameraInfo.calibFile = deviceObj.value("calib_file").toString();
m_calib->Load(cameraInfo.calibFile.toStdString().c_str()); m_calib->Load(cameraInfo.calibFile.toStdString().c_str());
} }
if (deviceObj.contains("basic_file"))
{
cameraInfo.basicFile = deviceObj.value("basic_file").toString();
}
cameraInfo.saveImgSuffix = deviceObj.value("save_img_suffix").toString(); cameraInfo.saveImgSuffix = deviceObj.value("save_img_suffix").toString();
int id = deviceObj.value("id").toInt(); int id = deviceObj.value("id").toInt();

@ -20,7 +20,6 @@ struct CameraInfo
int location = 0; //相机安装位置(对应货物在堆垛机的位置), 1左2右, 0保留为之前规则 int location = 0; //相机安装位置(对应货物在堆垛机的位置), 1左2右, 0保留为之前规则
QString calibFile = ""; //标定文件地址 QString calibFile = ""; //标定文件地址
QString basicFile = ""; //3D相机做的基准文件地址
QString saveImgSuffix = ".bmp" ; //保存的图像格式 QString saveImgSuffix = ".bmp" ; //保存的图像格式
}; };
@ -81,7 +80,7 @@ private:
QMap<int, CameraInfo> m_mapIdCameraInfoSide; QMap<int, CameraInfo> m_mapIdCameraInfoSide;
QMap<QString, int> m_mapSerialNumberIdTop; QMap<QString, int> m_mapSerialNumberIdTop;
QMap<QString, int> m_mapSerialNumberIdSide; // QString:相机SN码int:相机ID QMap<QString, int> m_mapSerialNumberIdSide; // QString:相机SN码int:相机ID
QMap<QString,int> m_cameraStockLocation; // QString:相机SN码, int:相机相对货物的Location QMap<QString, int> m_cameraStockLocation; // QString:相机SN码, int:相机相对货物的Location
QVector<Camera*> m_vecPCamera; QVector<Camera*> m_vecPCamera;
QMap<QString, int> m_mapSNIndex; QMap<QString, int> m_mapSNIndex;
bool m_bCamerasInit{ false }; bool m_bCamerasInit{ false };

@ -0,0 +1,23 @@
#include "HeightCalculate.h"
HeightCalculate::HeightCalculate(QObject *parent)
: QObject(parent)
{}
HeightCalculate::~HeightCalculate()
{}
void HeightCalculate::LoadBasicFile()
{
}
void HeightCalculate::LoadPointCould()
{
}
int HeightCalculate::SmokeHeight()
{
return 50;
}

@ -0,0 +1,17 @@
#pragma once
#include <QObject>
class HeightCalculate : public QObject
{
Q_OBJECT
public:
HeightCalculate(QObject *parent = nullptr);
~HeightCalculate();
void LoadBasicFile();
void LoadPointCould();
int SmokeHeight();
};

@ -3,6 +3,8 @@
#include <iostream> #include <iostream>
#include <thread> #include <thread>
#include <sstream> #include <sstream>
#include<filesystem>
#include "opencv2/opencv.hpp"
#include "lxCamera/lx_camera_api.h" #include "lxCamera/lx_camera_api.h"
#pragma comment(lib,"LxCameraApi.lib") #pragma comment(lib,"LxCameraApi.lib")
@ -135,23 +137,12 @@ bool LXCamera::takeAPic(cv::Mat& imgMat, cv::Mat&imgMat3D)
auto depth_data = frame_ptr->depth_data; auto depth_data = frame_ptr->depth_data;
cv::Mat depth_image = cv::Mat(depth_data.frame_height, depth_data.frame_width, cv::Mat depth_image = cv::Mat(depth_data.frame_height, depth_data.frame_width,
CV_MAKETYPE(depth_data.frame_data_type, depth_data.frame_channel), depth_data.frame_data); CV_MAKETYPE(depth_data.frame_data_type, depth_data.frame_channel), depth_data.frame_data);
//cv::Mat show;
depth_image.convertTo(imgMat, CV_8U, 1.0 / 16); depth_image.convertTo(imgMat, CV_8U, 1.0 / 16);
//applyColorMap(show, show, COLORMAP_JET); cv::applyColorMap(imgMat, imgMat3D, cv::COLORMAP_JET);
//cv::namedWindow("depth", 0);
//cv::resizeWindow("depth", 640, 480);
//cv::imshow("depth", show);
} }
//RGB //PointCloud
if (frame_ptr->rgb_data.frame_data != nullptr) auto retPCL = DcSetCmd(handle, LX_CMD_GET_NEW_FRAME);
{ retPCL = DcSaveXYZ(handle, ".\\Cache\\1.pcd");
auto rgb_data = frame_ptr->rgb_data;
imgMat3D = cv::Mat(rgb_data.frame_height, rgb_data.frame_width,
CV_MAKETYPE(rgb_data.frame_data_type, rgb_data.frame_channel), rgb_data.frame_data);
//cv::namedWindow("rgb", 0);
//cv::resizeWindow("rgb", 640, 480);
//cv::imshow("rgb", rgb_image);
}
} }

@ -76,6 +76,9 @@ SmokeBoxIdentification::SmokeBoxIdentification(QWidget *parent)
m_pCategoryMatcher = new CategoryMatcher(); m_pCategoryMatcher = new CategoryMatcher();
m_pHeightCalculate = new HeightCalculate();
connect(CodeScanStation::instance(), &CodeScanStation::sgNewCodeScanData, lpSerialStation::instance() connect(CodeScanStation::instance(), &CodeScanStation::sgNewCodeScanData, lpSerialStation::instance()
, &lpSerialStation::onNewCodeScanResults); , &lpSerialStation::onNewCodeScanResults);
connect(this, &SmokeBoxIdentification::sgCategoryMatchFinished, this, &SmokeBoxIdentification::onNumStatistic); connect(this, &SmokeBoxIdentification::sgCategoryMatchFinished, this, &SmokeBoxIdentification::onNumStatistic);
@ -107,6 +110,7 @@ SmokeBoxIdentification::~SmokeBoxIdentification()
{ {
//emit sgControlSideLight(lightCtrl::emTurnOffLight); //emit sgControlSideLight(lightCtrl::emTurnOffLight);
DELETE_POINTER(m_pCategoryMatcher); DELETE_POINTER(m_pCategoryMatcher);
DELETE_POINTER(m_pHeightCalculate);
DELETE_POINTER(m_pNetControl); DELETE_POINTER(m_pNetControl);
if (m_pTcpClientThread) if (m_pTcpClientThread)
{ {
@ -158,9 +162,31 @@ void SmokeBoxIdentification::saveImage(ILImagePtr image, const cv::Mat& imgMat3D
qWarning() << "Image is empty"; qWarning() << "Image is empty";
return; return;
} }
std::wstring path = filePath.toStdWString(); std::wstring path = filePath.toStdWString();
image->Save(path.c_str(), nullptr); if (!imgMat3D.empty())// 3D相机数据
qDebug() << "Save image: " << filePath; {
cv::imwrite(filePath.toStdString(), imgMat3D);
int lastPos = filePath.lastIndexOf('.');
QString pclPath = filePath.left(lastPos);
pclPath.append(".pcd");
if (QFile(pclPath).exists())
{
QFile::remove(pclPath);
}
QFile::copy("C:\\Users\\LENOVO\\Downloads\\30t.pcd",pclPath);
//QFile::rename(".\\Cache\\1.pcd", pclPath);
qDebug() << "Save 3D image: " << filePath;
}
else // 2D相机数据
{
image->Save(path.c_str(), nullptr);
qDebug() << "Save 2D image: " << filePath;
}
if (!imgMat3D.empty()) if (!imgMat3D.empty())
{ {
@ -213,9 +239,9 @@ void SmokeBoxIdentification::saveImage(const QVector<ImageInfo>& vecImageInfo, i
for (int i = 0; i < vecImageInfo.size(); ++i) for (int i = 0; i < vecImageInfo.size(); ++i)
{ {
FileInfo fileInfo = vecImageInfo.at(i).saveImgInfo; FileInfo fileInfo = vecImageInfo.at(i).saveImgInfo;
QString filePath = QString("%1\\%2").arg(dataSaveFolderPath).arg(fileInfo.name);
#if IMAGEDRAWING == LPV #if IMAGEDRAWING == LPV
QString filePath = QString("%1\\%2").arg(dataSaveFolderPath).arg(fileInfo.name);
saveImage(vecImageInfo.at(i).imageOrigin, vecImageInfo.at(i).image3D, filePath); saveImage(vecImageInfo.at(i).imageOrigin, vecImageInfo.at(i).image3D, filePath);
#elif IMAGEDRAWING == OPENCV #elif IMAGEDRAWING == OPENCV
@ -391,10 +417,6 @@ void SmokeBoxIdentification::calculate(int stocketID)
QString typeNum = stocket.smokeTypeNum; QString typeNum = stocket.smokeTypeNum;
cv::Mat imgRltMat; cv::Mat imgRltMat;
// 由于暂定的通讯许可里无之前的stockNum暂改存储地址
//QString dataSaveFolder = QString("%1\\%2\\%3").arg(FILE_STORAGE_PATH)
// .arg(m_currtStockCheckInfo.stockNum).arg(m_currtStockCheckInfo.taskNum);
QString dataSaveFolder = QString("%1\\%2\\%3").arg(FILE_STORAGE_PATH) QString dataSaveFolder = QString("%1\\%2\\%3").arg(FILE_STORAGE_PATH)
.arg(stocket.taskNum).arg(stocket.id); .arg(stocket.taskNum).arg(stocket.id);
@ -419,6 +441,38 @@ void SmokeBoxIdentification::calculate(int stocketID)
.arg(m_currtStockCheckInfo.smokeTypeNum).arg(fileInfo.suffix); .arg(m_currtStockCheckInfo.smokeTypeNum).arg(fileInfo.suffix);
QString filePath = QString("%1\\%2").arg(dataSaveFolder).arg(fileName); QString filePath = QString("%1\\%2").arg(dataSaveFolder).arg(fileName);
m_pCategoryMatcher->saveResultsImage(filePath); m_pCategoryMatcher->saveResultsImage(filePath);
//根据相机编号对应找到3D基准文件去计算层高
QString pclPath = filePath;
pclPath.append(QString("*.pcd").arg(fileInfo.strId));
QDir dir(pclPath);
QFileInfoList fileList = dir.entryInfoList(QStringList() << "*.pcd", QDir::Files | QDir::NoDotAndDotDot);
if (fileList.length() > 0)
{
m_pHeightCalculate->LoadPointCould();
}
else
{
str = QString("[%1]:Camera %2 -- PointCould[%3] can't Find!").arg(stocket.id)
.arg(imgInfo.cameraSn).arg(pclPath);
qWarning() << str;
}
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)
.arg(imgInfo.cameraSn).arg(basicFile);
qWarning() << str;
}
m_pHeightCalculate->LoadBasicFile();
m_stocketList[stocketID].smokeQuantityRlt = QString::number(m_pHeightCalculate->SmokeHeight());
break; break;
} }
else else
@ -426,7 +480,6 @@ void SmokeBoxIdentification::calculate(int stocketID)
str = QString("[%1]:Camera %2 Match Failed!").arg(stocket.id).arg(imgInfo.cameraSn); str = QString("[%1]:Camera %2 Match Failed!").arg(stocket.id).arg(imgInfo.cameraSn);
qWarning() << str; qWarning() << str;
} }
} }
else else
{ {
@ -443,10 +496,13 @@ void SmokeBoxIdentification::calculate(int stocketID)
} }
QString typeNumRlt = bRlt ? typeNum : "0"; QString typeNumRlt = bRlt ? typeNum : "0";
m_stocketList[stocketID].smokeTypeNumRlt = typeNumRlt; m_stocketList[stocketID].smokeTypeNumRlt = typeNumRlt;
qDebug() << "typeNumRlt: " << typeNumRlt;
//等接入3D后需要等3D结果计算出来后再发送正确信息
m_stocketList[stocketID].smokeQuantityRlt = stocket.smokeQuantity; qInfo() << "smokeQuantity = " << m_stocketList[stocketID].smokeQuantity;
if (!bRlt || m_stocketList[stocketID].smokeQuantity!= m_stocketList[stocketID].smokeQuantityRlt)
{
m_stocketList[stocketID].correctness = false;
}
sendResults(MsgType::StockCheckResult,stocketID); sendResults(MsgType::StockCheckResult,stocketID);
//emit sgCategoryMatchFinished(typeNumRlt); //emit sgCategoryMatchFinished(typeNumRlt);
}); });
@ -597,7 +653,7 @@ void SmokeBoxIdentification::sendResults(int mode, int id)
.append(m_currtIntoStockInfo.streetName).append(SPLIT_RULE) .append(m_currtIntoStockInfo.streetName).append(SPLIT_RULE)
.append(m_currtIntoStockInfo.id).append(SPLIT_RULE) .append(m_currtIntoStockInfo.id).append(SPLIT_RULE)
.append(m_currtIntoStockInfo.taskNum).append(SPLIT_RULE) .append(m_currtIntoStockInfo.taskNum).append(SPLIT_RULE)
.append(m_currtIntoStockInfo.stockLocation).append(SPLIT_RULE); .append(m_currtIntoStockInfo.stockLocation).append(END_SYMBOL);
break; break;
} }
default: default:

@ -19,6 +19,7 @@
#include "CodeScanStation.h" #include "CodeScanStation.h"
#include "dataPreprocessing.h" #include "dataPreprocessing.h"
#include "QNumTemplateBuild.h" #include "QNumTemplateBuild.h"
#include "HeightCalculate.h"
#include "ui_SmokeBoxIdentification.h" #include "ui_SmokeBoxIdentification.h"
@ -126,6 +127,7 @@ private:
WorkMode m_workMode; WorkMode m_workMode;
NetControl* m_pNetControl; NetControl* m_pNetControl;
CategoryMatcher* m_pCategoryMatcher; CategoryMatcher* m_pCategoryMatcher;
HeightCalculate* m_pHeightCalculate;
IntoStockInfo m_currtIntoStockInfo; IntoStockInfo m_currtIntoStockInfo;
StockCheckInfo m_currtStockCheckInfo; StockCheckInfo m_currtStockCheckInfo;
EmptyCheckInfo m_currtEmptyCheckInfo; EmptyCheckInfo m_currtEmptyCheckInfo;

@ -1,8 +0,0 @@
#include "TofCamera.h"
TofCamera::TofCamera(QObject *parent)
: QObject(parent)
{}
TofCamera::~TofCamera()
{}

@ -1,12 +0,0 @@
#pragma once
#include <QObject>
class TofCamera : public QObject
{
Q_OBJECT
public:
TofCamera(QObject *parent);
~TofCamera();
};

@ -0,0 +1,90 @@
/****************************************************************************
** Meta object code from reading C++ file 'CalculateHeight.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 <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'CalculateHeight.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_CalculateHeight_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 \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_CalculateHeight_t qt_meta_stringdata_CalculateHeight = {
{
QT_MOC_LITERAL(0, 0, 15) // "CalculateHeight"
},
"CalculateHeight"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_CalculateHeight[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
void CalculateHeight::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
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 *CalculateHeight::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *CalculateHeight::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_CalculateHeight.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int CalculateHeight::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

@ -0,0 +1,90 @@
/****************************************************************************
** 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/HeightCalculate.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#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."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
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_HeightCalculate_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_HeightCalculate_t qt_meta_stringdata_HeightCalculate = {
{
QT_MOC_LITERAL(0, 0, 15) // "HeightCalculate"
},
"HeightCalculate"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_HeightCalculate[] = {
// content:
7, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
void HeightCalculate::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
const QMetaObject HeightCalculate::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_HeightCalculate.data,
qt_meta_data_HeightCalculate, qt_static_metacall, nullptr, nullptr}
};
const QMetaObject *HeightCalculate::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *HeightCalculate::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_HeightCalculate.stringdata0))
return static_cast<void*>(this);
return QObject::qt_metacast(_clname);
}
int HeightCalculate::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QObject::qt_metacall(_c, _id, _a);
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

@ -127,6 +127,7 @@
<ClCompile Include="..\..\src\CategoryMatcher.cpp" /> <ClCompile Include="..\..\src\CategoryMatcher.cpp" />
<ClCompile Include="..\..\src\CodeScanStation.cpp" /> <ClCompile Include="..\..\src\CodeScanStation.cpp" />
<ClCompile Include="..\..\src\common\log.cpp" /> <ClCompile Include="..\..\src\common\log.cpp" />
<ClCompile Include="..\..\src\HeightCalculate.cpp" />
<ClCompile Include="..\..\src\HikCamera.cpp" /> <ClCompile Include="..\..\src\HikCamera.cpp" />
<ClCompile Include="..\..\src\lpSerialStation.cpp" /> <ClCompile Include="..\..\src\lpSerialStation.cpp" />
<ClCompile Include="..\..\src\LXCamera.cpp" /> <ClCompile Include="..\..\src\LXCamera.cpp" />
@ -134,7 +135,6 @@
<ClCompile Include="..\..\src\NetControl.cpp" /> <ClCompile Include="..\..\src\NetControl.cpp" />
<ClCompile Include="..\..\src\QNumTemplateBuild.cpp" /> <ClCompile Include="..\..\src\QNumTemplateBuild.cpp" />
<ClCompile Include="..\..\src\SmokeBoxIdentification.cpp" /> <ClCompile Include="..\..\src\SmokeBoxIdentification.cpp" />
<ClCompile Include="..\..\src\TofCamera.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<QtMoc Include="..\..\src\ADModule.h" /> <QtMoc Include="..\..\src\ADModule.h" />
@ -149,10 +149,6 @@
<QtMoc Include="..\..\src\CategoryMatcher.h" /> <QtMoc Include="..\..\src\CategoryMatcher.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<QtMoc Include="..\..\src\TofCamera.h">
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\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</IncludePath>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\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</IncludePath>
</QtMoc>
<QtMoc Include="..\..\src\CodeScanStation.h"> <QtMoc Include="..\..\src\CodeScanStation.h">
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\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</IncludePath> <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\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</IncludePath>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\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</IncludePath> <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\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</IncludePath>
@ -160,6 +156,10 @@
<ClInclude Include="..\..\src\common\commonDefine.h" /> <ClInclude Include="..\..\src\common\commonDefine.h" />
<ClInclude Include="..\..\src\common\log.h" /> <ClInclude Include="..\..\src\common\log.h" />
<ClInclude Include="..\..\src\common\QZkJsonParser.h" /> <ClInclude Include="..\..\src\common\QZkJsonParser.h" />
<QtMoc Include="..\..\src\HeightCalculate.h">
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\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</IncludePath>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\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</IncludePath>
</QtMoc>
<ClInclude Include="..\..\src\lpv\DisplayHelper.h" /> <ClInclude Include="..\..\src\lpv\DisplayHelper.h" />
<ClInclude Include="..\..\src\lpv\LPVCore.h" /> <ClInclude Include="..\..\src\lpv\LPVCore.h" />
<ClInclude Include="..\..\src\lpv\LPVGeom.h" /> <ClInclude Include="..\..\src\lpv\LPVGeom.h" />

@ -91,10 +91,10 @@
<ClCompile Include="..\..\src\CodeScanStation.cpp"> <ClCompile Include="..\..\src\CodeScanStation.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\TofCamera.cpp"> <ClCompile Include="..\..\src\LXCamera.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\..\src\LXCamera.cpp"> <ClCompile Include="..\..\src\HeightCalculate.cpp">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
@ -129,10 +129,10 @@
<QtMoc Include="..\..\src\CodeScanStation.h"> <QtMoc Include="..\..\src\CodeScanStation.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</QtMoc> </QtMoc>
<QtMoc Include="..\..\src\TofCamera.h"> <QtMoc Include="..\..\src\LXCamera.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</QtMoc> </QtMoc>
<QtMoc Include="..\..\src\LXCamera.h"> <QtMoc Include="..\..\src\HeightCalculate.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</QtMoc> </QtMoc>
</ItemGroup> </ItemGroup>

Loading…
Cancel
Save