From cbb44ca349235ffedba61c0eff53ef53a83706ec Mon Sep 17 00:00:00 2001 From: "bob.pan" Date: Wed, 10 Nov 2021 17:30:07 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E7=BB=93=E5=90=88=E7=8E=B0=E5=9C=BA?= =?UTF-8?q?=E6=83=85=E5=86=B5=EF=BC=8C=E5=90=8C=E6=AD=A5=E6=9B=B4=E6=96=B0?= =?UTF-8?q?lpmain=E5=92=8Calgprithm=E6=A8=A1=E5=9D=97=EF=BC=8C=EF=BC=88?= =?UTF-8?q?=E9=92=88=E5=AF=B9=E7=8E=B0=E5=9C=BA=E5=87=BA=E7=8E=B0=E7=9A=84?= =?UTF-8?q?=E8=8A=B1=E5=9B=BE=E5=B4=A9=E6=BA=83=E9=97=AE=E9=A2=98=EF=BC=89?= =?UTF-8?q?=202=E3=80=81=E6=A3=80=E6=B5=8B=E5=9B=BE=E7=89=87=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E6=A0=BC=E5=BC=8F=E7=94=B1png=E6=94=B9=E4=B8=BAjpg?= =?UTF-8?q?=EF=BC=8C=E8=AE=AD=E7=BB=83=E5=9B=BE=E5=83=8F=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E6=94=AF=E6=8C=81=E5=A4=A7=E4=BA=8E1900=E5=A4=A7?= =?UTF-8?q?=E5=B0=8F=E7=9A=84=E5=9B=BE=E7=89=87=203=E3=80=81=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2=E5=92=8C=E6=A0=87?= =?UTF-8?q?=E5=AE=9A=E9=A1=B5=E9=9D=A2=E5=A2=9E=E5=8A=A0=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E8=B7=AF=E5=BE=84=E8=AE=B0=E5=BD=95=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=9B=BE=E7=89=87=E6=97=B6?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E4=BC=9A=E6=89=BE=E5=88=B0data=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=A4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...识别定位一体与PLC通讯协议.docx | Bin 15130 -> 15285 bytes src/algorithm/AlgorithmCompare.cpp | 1 + src/lpbdesigner/MainFrame.cpp | 6 +++- src/tpMain/cryptokey/lpCryptokey.cpp | 14 ++++---- tpvs17/lpdesigner/lpdesigner.vcxproj | 17 +++++++++ tpvs17/lpdesigner/lpdesigner.vcxproj.filters | 12 +++++++ tpvs17/lpdesigner/lpdesignerConfig.cpp | 33 ++++++++++++++++++ tpvs17/lpdesigner/lpdesignerConfig.h | 18 ++++++++++ tpvs17/tpMain/QModelMgrDlg.cpp | 5 +-- tpvs17/tpMain/lpMainWin.cpp | 23 ++++++------ tpvs17/wheel.sln | 18 +++++----- 11 files changed, 118 insertions(+), 29 deletions(-) create mode 100644 tpvs17/lpdesigner/lpdesignerConfig.cpp create mode 100644 tpvs17/lpdesigner/lpdesignerConfig.h diff --git a/doc/轮毂识别定位一体与PLC通讯协议.docx b/doc/轮毂识别定位一体与PLC通讯协议.docx index d172ddc27bd4767e7be5e3f3b8b4b4583b2dd5f6..af55a20e02bd5db72879c64c0948bc4b4c2fac17 100644 GIT binary patch delta 6147 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 delta 6029 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 diff --git a/src/algorithm/AlgorithmCompare.cpp b/src/algorithm/AlgorithmCompare.cpp index 8c6e0f8..5b14481 100644 --- a/src/algorithm/AlgorithmCompare.cpp +++ b/src/algorithm/AlgorithmCompare.cpp @@ -34,6 +34,7 @@ public: QStringList defectList; }; + static QImage cvMat2QImage(const cv::Mat& mat) { if (mat.type() == CV_8UC1) { QImage image(mat.cols, mat.rows, QImage::Format_Indexed8); diff --git a/src/lpbdesigner/MainFrame.cpp b/src/lpbdesigner/MainFrame.cpp index 5479ccd..91e7de1 100644 --- a/src/lpbdesigner/MainFrame.cpp +++ b/src/lpbdesigner/MainFrame.cpp @@ -2,6 +2,7 @@ #include "ui_MainFrame.h" #include "colossusbase.h" #include +#include "lpdesignerConfig.h" #pragma execution_character_set("utf-8") #define WINDOWS_ICON ":/resource/app.png" QString showVariant(const AlgoParamType type, const QVariant &var) { @@ -151,6 +152,9 @@ CMainFrame::CMainFrame(QWidget *parent) m_plablStatus = new QLabel(this);//菜单栏提示信息 ui->statusBar->addWidget(m_plablStatus); _pSaveStatus = ui->label_SaveStatus; + + lpdesignerConfig::instance()->readConfig(); + } CMainFrame::~CMainFrame() @@ -1512,7 +1516,7 @@ Q_SLOT void CMainFrame::onLoadImage() if (!currentTask()) return ; - QString strDefaultDirPath = m_pCurrentTask->GetTaskInfo()->strDirPath; + QString strDefaultDirPath = lpdesignerConfig::instance()->m_SaveImgDirPath+"/data/";// m_pCurrentTask->GetTaskInfo()->strDirPath; QStringList strFileNamesList = QFileDialog::getOpenFileNames(this, "open file", strDefaultDirPath, "Images (*.bmp *.png *.xpm *.jpg)"); if (strFileNamesList.size() <= 0) { diff --git a/src/tpMain/cryptokey/lpCryptokey.cpp b/src/tpMain/cryptokey/lpCryptokey.cpp index ff66ae0..aaa4b6f 100644 --- a/src/tpMain/cryptokey/lpCryptokey.cpp +++ b/src/tpMain/cryptokey/lpCryptokey.cpp @@ -78,13 +78,13 @@ bool lpCheckKey::checkLinese() std::string cpuID = lpHardwareInfo::instance()->getCpuID(); std::string BoardID = lpHardwareInfo::instance()->getMotherBoardID(); std::string macID = lpHardwareInfo::instance()->getMacAddress(); - if (hardDriveID.size() > 0) - { - m_SerialNo = lpCryptokey::genSerialNumber(QString(hardDriveID.c_str()) + QString(cpuID.c_str())); - } - else { - m_SerialNo = lpCryptokey::genSerialNumber(QString(BoardID.c_str()) + QString(macID.c_str())); - } +// if (hardDriveID.size() > 0) +// { +// m_SerialNo = lpCryptokey::genSerialNumber(QString(hardDriveID.c_str()) + QString(cpuID.c_str())); +// } +// else { + m_SerialNo = lpCryptokey::genSerialNumber(/*QString(BoardID.c_str()) +*/ QString(macID.c_str())); +// } QSettings settingKey("Leaper_Register"); QString strKey = settingKey.value("key").toString(); bool bRegister = settingKey.value("register", false).toBool(); diff --git a/tpvs17/lpdesigner/lpdesigner.vcxproj b/tpvs17/lpdesigner/lpdesigner.vcxproj index 18fe121..3e5d291 100644 --- a/tpvs17/lpdesigner/lpdesigner.vcxproj +++ b/tpvs17/lpdesigner/lpdesigner.vcxproj @@ -94,6 +94,16 @@ + + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing %(Identity)... + .\..\..\src\lpbdesigner\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\..\..\src\lpbdesigner\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_CORE_LIB -DLPDESIGNER_LIB -D%(PreprocessorDefinitions) "-I." "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWebKit" "-I$(QTDIR)\include\QtPrintSupport" "-I$(QTDIR)\include\QtWebkitWidgets" "-I.\GeneratedFiles\$(ConfigurationName)" "-I.\..\..\include\lpdesigner\algela" "-I.\..\..\include\lpdesigner" "-I.\..\..\src\lpbdesigner\GeneratedFiles" "-I.\..\..\src\ColossusBase" "-I.\..\..\3part\opencv3.4.1\include" "-I.\..\..\3part\opencv3.4.1\include\opencv" "-I.\..\..\3part\opencv3.4.1\include\opencv2" "-I.\..\..\src\lpbdesigner" "-I.\..\..\3part\tadpole\include\tpBase" + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing %(Identity)... + .\..\..\src\lpbdesigner\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\..\..\src\lpbdesigner\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DLPDESIGNER_LIB -D%(PreprocessorDefinitions) "-I." "-I$(QTDIR)\include" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtWebKit" "-I$(QTDIR)\include\QtPrintSupport" "-I$(QTDIR)\include\QtWebkitWidgets" "-I.\GeneratedFiles\$(ConfigurationName)" "-I.\..\..\include\lpdesigner\algela" "-I.\..\..\include\lpdesigner" "-I.\..\..\src\lpbdesigner\GeneratedFiles" "-I.\..\..\src\ColossusBase" "-I.\..\..\3part\opencv3.4.1\include" "-I.\..\..\3part\opencv3.4.1\include\opencv" "-I.\..\..\3part\opencv3.4.1\include\opencv2" "-I.\..\..\src\lpbdesigner" "-I.\..\..\3part\tadpole\include\tpBase" + @@ -181,6 +191,9 @@ true + + true + true @@ -208,6 +221,9 @@ true + + true + true @@ -224,6 +240,7 @@ + diff --git a/tpvs17/lpdesigner/lpdesigner.vcxproj.filters b/tpvs17/lpdesigner/lpdesigner.vcxproj.filters index 541458c..a3fd515 100644 --- a/tpvs17/lpdesigner/lpdesigner.vcxproj.filters +++ b/tpvs17/lpdesigner/lpdesigner.vcxproj.filters @@ -120,6 +120,9 @@ Form Files + + Header Files + @@ -212,6 +215,15 @@ Source Files + + Generated Files\Debug + + + Generated Files\Release + + + Source Files + diff --git a/tpvs17/lpdesigner/lpdesignerConfig.cpp b/tpvs17/lpdesigner/lpdesignerConfig.cpp new file mode 100644 index 0000000..09121ed --- /dev/null +++ b/tpvs17/lpdesigner/lpdesignerConfig.cpp @@ -0,0 +1,33 @@ +#include "lpdesignerConfig.h" +#include +#include +#include +#include +lpdesignerConfig::lpdesignerConfig(QObject *parent) + : QObject(parent) +{ +} + +lpdesignerConfig::~lpdesignerConfig() +{ +} + +void lpdesignerConfig::readConfig() +{ + QString fileMyself = QApplication::applicationDirPath() + "\\user\\selfdefine.json"; + QFile file(fileMyself); + if (true == file.open(QIODevice::ReadOnly)) + { + QByteArray readData = file.readAll(); + QJsonObject rootObj = QJsonDocument::fromJson(readData).object(); + if (!rootObj.isEmpty()) + { + QJsonObject detectImage = rootObj.value("DetectImage").toObject(); + if (!detectImage.isEmpty()) + { + m_SaveImgDirPath = detectImage.value("SaveImgPath").toString(); + } + } + } + file.close(); +} diff --git a/tpvs17/lpdesigner/lpdesignerConfig.h b/tpvs17/lpdesigner/lpdesignerConfig.h new file mode 100644 index 0000000..4a3ef51 --- /dev/null +++ b/tpvs17/lpdesigner/lpdesignerConfig.h @@ -0,0 +1,18 @@ +#ifndef _LPDESIGNERCONFIG_H_ +#define _LPDESIGNERCONFIG_H_ + +#include +#include "lp_singleton_base.h" + +class lpdesignerConfig : public QObject,public lp_singleton_base +{ + Q_OBJECT + +public: + lpdesignerConfig(QObject *parent = 0); + ~lpdesignerConfig(); + void readConfig(); + QString m_SaveImgDirPath; +}; + +#endif diff --git a/tpvs17/tpMain/QModelMgrDlg.cpp b/tpvs17/tpMain/QModelMgrDlg.cpp index c799bae..a5b8688 100644 --- a/tpvs17/tpMain/QModelMgrDlg.cpp +++ b/tpvs17/tpMain/QModelMgrDlg.cpp @@ -13,6 +13,7 @@ #include "ICompareModel.h" #include +#include "lpGlobalConfig.h" #define WS_PICSIZE 129 //!>缩放大小 #define WS_PICSIZELIST_ITEM 100 @@ -142,7 +143,7 @@ Q_SLOT void QModelMgrDlg::onAddPic2Model() onMessageBox(QMessageBox::Information, tr("提示"), tr("请选择一个您要追加图像的型号!"), 0); return; } - QStringList lstFiles = FileOper::selectFiles(QString("%1 Add Picture").arg(strModel), "Picture(*.bmp *.jpg *.png)", m_strAddPicPath);// m_pCtrl->appRoot() + "//Data//"); + QStringList lstFiles = FileOper::selectFiles(QString("%1 Add Picture").arg(strModel), "Picture(*.bmp *.jpg *.png *.jpeg)", lpGlobalConfig::instance()->m_SaveImgDirPath+"/data/");// m_pCtrl->appRoot() + "//Data//"); if (lstFiles.empty()) { return; } @@ -844,7 +845,7 @@ bool QModelMgrDlg::appImage2Widget(QString strPath, QString strModel) if (dst.empty()) { return false; } - if (dst.rows >= 900 || dst.cols >= 900) + if (dst.rows >= 1900 || dst.cols >= 1900) return false; //显示 QString strFileName = strModel + "_" + hubBase::genDateTime("MMddhhmmzzz"); diff --git a/tpvs17/tpMain/lpMainWin.cpp b/tpvs17/tpMain/lpMainWin.cpp index a67a739..bb159c8 100644 --- a/tpvs17/tpMain/lpMainWin.cpp +++ b/tpvs17/tpMain/lpMainWin.cpp @@ -22,9 +22,9 @@ #include "databasesql.h" #include "lpCryptokey.h" -#define VERSION_HUB "3.0.1.8" +#define VERSION_HUB "3.0.1.9" #define VERSION_ALG "3.0.1.4" -#define UPDATE_TIME "2021-11-09" +#define UPDATE_TIME "2021-11-10" #pragma execution_character_set("utf-8") #define MODEL_UI_ICON_NONE ":/image/no-img" @@ -1363,6 +1363,7 @@ Q_SLOT void lpMainWin::onTriggerCam() { QString strMsg = QString("当前为停止检测状态,请按下开始检测再触发相机拍照"); emit sgShowDetectLog(strMsg); + onStrongButton(); return; } @@ -1511,16 +1512,16 @@ void lpMainWin::saveImage(Result2Ui* pRes) goodsourceDir += "\\Source"; goodsourceDir += "\\"; goodsourceDir += pRes->m_strModel; - QString resultpath = goodsourceDir + "\\" + filename + ".png"; - saveImage(pRes->m_pixSrc, goodsourceDir + "\\", filename + ".png"); + QString resultpath = goodsourceDir + "\\" + filename + ".jpg"; + saveImage(pRes->m_pixSrc, goodsourceDir + "\\", filename + ".jpg"); } QString goodtargetDir = fileSavePath + "\\Good"; if (lpGlobalConfig::instance()->bSaveCutOKImg == true) { goodtargetDir += "\\Target"; goodtargetDir += "\\"; goodtargetDir += pRes->m_strModel; - QString resultpath = goodtargetDir + "\\" + filename + "Res.png"; - saveImage(pRes->m_pixResult, goodtargetDir + "\\", filename + "Res.png"); + QString resultpath = goodtargetDir + "\\" + filename + "Res.jpg"; + saveImage(pRes->m_pixResult, goodtargetDir + "\\", filename + "Res.jpg"); } } else @@ -1531,17 +1532,17 @@ void lpMainWin::saveImage(Result2Ui* pRes) filename = filename + "_" + curExposureTimeStr; if (lpGlobalConfig::instance()->bSaveSrcNGImg == true) { errorSourceDir += "\\Source"; - QString resultpath = errorSourceDir + "\\" + filename + ".png"; - saveImage(pRes->m_pixSrc, errorSourceDir + "\\", filename + ".png"); + QString resultpath = errorSourceDir + "\\" + filename + ".jpg"; + saveImage(pRes->m_pixSrc, errorSourceDir + "\\", filename + ".jpg"); } QString errortargetDir = fileSavePath + "\\Error"; if (lpGlobalConfig::instance()->bSaveCutNGImg == true) { errortargetDir += "\\Target"; - QString resultpath = errortargetDir + "\\" + filename + "Res.png"; + QString resultpath = errortargetDir + "\\" + filename + "Res.jpg"; if (pRes->m_pixResult.isNull()) - saveImage(pRes->m_pixSrc, errortargetDir + "\\", filename + "Res.png"); + saveImage(pRes->m_pixSrc, errortargetDir + "\\", filename + "Res.jpg"); else - saveImage(pRes->m_pixResult, errortargetDir + "\\", filename + "Res.png"); + saveImage(pRes->m_pixResult, errortargetDir + "\\", filename + "Res.jpg"); } } } diff --git a/tpvs17/wheel.sln b/tpvs17/wheel.sln index a460894..ec508a2 100644 --- a/tpvs17/wheel.sln +++ b/tpvs17/wheel.sln @@ -25,7 +25,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lpCoreCtrl", "lpCoreCtrl\lp EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Enchanter", "Enchanter\Enchanter.vcxproj", "{7B76D75A-0E01-451E-880E-FB9AC63A914B}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestTransform", "TestTransform\TestTransform.vcxproj", "{0AB1DDAD-DC20-4A2C-B1FE-1D122125FEE2}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tpCamHik", "tpCamHik\tpCamHik.vcxproj", "{64C9A32D-82E8-4C36-9AA6-52D58B23F687}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -105,18 +105,20 @@ Global {7B76D75A-0E01-451E-880E-FB9AC63A914B}.Release|x64.ActiveCfg = Release|x64 {7B76D75A-0E01-451E-880E-FB9AC63A914B}.Release|x64.Build.0 = Release|x64 {7B76D75A-0E01-451E-880E-FB9AC63A914B}.Release|x86.ActiveCfg = Release|x64 - {0AB1DDAD-DC20-4A2C-B1FE-1D122125FEE2}.Debug|x64.ActiveCfg = Debug|x64 - {0AB1DDAD-DC20-4A2C-B1FE-1D122125FEE2}.Debug|x64.Build.0 = Debug|x64 - {0AB1DDAD-DC20-4A2C-B1FE-1D122125FEE2}.Debug|x86.ActiveCfg = Debug|x64 - {0AB1DDAD-DC20-4A2C-B1FE-1D122125FEE2}.Release|x64.ActiveCfg = Release|x64 - {0AB1DDAD-DC20-4A2C-B1FE-1D122125FEE2}.Release|x64.Build.0 = Release|x64 - {0AB1DDAD-DC20-4A2C-B1FE-1D122125FEE2}.Release|x86.ActiveCfg = Release|x64 + {64C9A32D-82E8-4C36-9AA6-52D58B23F687}.Debug|x64.ActiveCfg = Debug|x64 + {64C9A32D-82E8-4C36-9AA6-52D58B23F687}.Debug|x64.Build.0 = Debug|x64 + {64C9A32D-82E8-4C36-9AA6-52D58B23F687}.Debug|x86.ActiveCfg = Debug|Win32 + {64C9A32D-82E8-4C36-9AA6-52D58B23F687}.Debug|x86.Build.0 = Debug|Win32 + {64C9A32D-82E8-4C36-9AA6-52D58B23F687}.Release|x64.ActiveCfg = Release|x64 + {64C9A32D-82E8-4C36-9AA6-52D58B23F687}.Release|x64.Build.0 = Release|x64 + {64C9A32D-82E8-4C36-9AA6-52D58B23F687}.Release|x86.ActiveCfg = Release|Win32 + {64C9A32D-82E8-4C36-9AA6-52D58B23F687}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {CD365F32-5EAC-4A16-AD47-BFB1D8E5511A} Qt5Version = qt5.9.4-msvc2017-x64 + SolutionGuid = {CD365F32-5EAC-4A16-AD47-BFB1D8E5511A} EndGlobalSection EndGlobal