diff --git a/tpvs17/tpMain/lpImageCaliUI.cpp b/tpvs17/tpMain/lpImageCaliUI.cpp index d3513e8..582c408 100644 --- a/tpvs17/tpMain/lpImageCaliUI.cpp +++ b/tpvs17/tpMain/lpImageCaliUI.cpp @@ -74,7 +74,7 @@ void lpImageCaliUI::showEvent(QShowEvent *event) if (m_srcImgView) { m_srcImgView->onClearAllROI(); - QString DstPath = QApplication::applicationDirPath() + "\\user\\StandImage.png"; + QString DstPath = QApplication::applicationDirPath() + "\\user\\StandImage.jpg"; QImage img; img.load(DstPath); @@ -103,10 +103,10 @@ Q_SLOT void lpImageCaliUI::onButtonClicked() QString strObj = sender()->objectName(); if (strObj == "m_pbLoadImg") { - QString fileName = QFileDialog::getOpenFileName(this, tr("选择标定图"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)")); + QString fileName = QFileDialog::getOpenFileName(this, tr("选择标定图"), lpGlobalConfig::instance()->m_SaveImgDirPath+"/data/", tr("Image Files (*.png *.jpg *.bmp)")); if (!fileName.isEmpty()) { - QString DstPath = QApplication::applicationDirPath() + "\\user\\StandImage.png"; + QString DstPath = QApplication::applicationDirPath() + "\\user\\StandImage.jpg"; QString sourcePath = fileName; DstPath.replace("\\", "/"); if (sourcePath == DstPath) { @@ -118,13 +118,14 @@ Q_SLOT void lpImageCaliUI::onButtonClicked() if (exist) { createfile->remove(DstPath); } - if (!QFile::copy(sourcePath, DstPath)) { - } +// if (!QFile::copy(sourcePath, DstPath)) { +// } QImage img; img.load(fileName); if (m_srcImgView) { m_srcImgView->setImg(img); } + img.save(DstPath); delete createfile; createfile = nullptr; } diff --git a/tpvs17/tpMain/lpImageCaliUI4P.cpp b/tpvs17/tpMain/lpImageCaliUI4P.cpp index 16b6ed5..d7bf2a4 100644 --- a/tpvs17/tpMain/lpImageCaliUI4P.cpp +++ b/tpvs17/tpMain/lpImageCaliUI4P.cpp @@ -86,7 +86,7 @@ void lpImageCaliUI4P::showEvent(QShowEvent *event) if (m_srcImgView) { m_srcImgView->onClearAllROI(); - QString DstPath = QApplication::applicationDirPath() + "\\user\\StandImage.png"; + QString DstPath = QApplication::applicationDirPath() + "\\user\\StandImage.jpg"; QImage img; img.load(DstPath); @@ -120,10 +120,10 @@ Q_SLOT void lpImageCaliUI4P::onButtonClicked() QString strObj = sender()->objectName(); if (strObj == "m_pbLoadImg") { - QString fileName = QFileDialog::getOpenFileName(this, tr("ѡ궨ͼ"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)")); + QString fileName = QFileDialog::getOpenFileName(this, tr("ѡ궨ͼ"), lpGlobalConfig::instance()->m_SaveImgDirPath + "/data/", tr("Image Files (*.png *.jpg *.bmp)")); if (!fileName.isEmpty()) { - QString DstPath = QApplication::applicationDirPath() + "\\user\\StandImage.png"; + QString DstPath = QApplication::applicationDirPath() + "\\user\\StandImage.jpg"; QString sourcePath = fileName; DstPath.replace("\\", "/"); if (sourcePath == DstPath) { @@ -135,13 +135,14 @@ Q_SLOT void lpImageCaliUI4P::onButtonClicked() if (exist) { createfile->remove(DstPath); } - if (!QFile::copy(sourcePath, DstPath)) { - } +// if (!QFile::copy(sourcePath, DstPath)) { +// } QImage img; img.load(fileName); if (m_srcImgView) { m_srcImgView->setImg(img); } + img.save(DstPath); delete createfile; createfile = nullptr; } diff --git a/tpvs17/valueMainUI/lpConfig.cpp b/tpvs17/valueMainUI/lpConfig.cpp index bdad682..2e8a13c 100644 --- a/tpvs17/valueMainUI/lpConfig.cpp +++ b/tpvs17/valueMainUI/lpConfig.cpp @@ -21,6 +21,7 @@ void lpConfig::saveConfig() setting.setValue("appPathB", appPathB); setting.setValue("doubleStation", doubleStation); setting.setValue("serverPort", plcServerPort); + setting.setValue("trigerFilter", trigerFilter); } void lpConfig::loadConfig() @@ -32,4 +33,5 @@ void lpConfig::loadConfig() appPathB = setting.value("appPathB").toString(); doubleStation = setting.value("doubleStation",true).toBool(); plcServerPort = setting.value("serverPort", 1000).toInt(); + trigerFilter = setting.value("trigerFilter", 1000).toInt(); } diff --git a/tpvs17/valueMainUI/lpConfig.h b/tpvs17/valueMainUI/lpConfig.h index a27f2e2..96750c2 100644 --- a/tpvs17/valueMainUI/lpConfig.h +++ b/tpvs17/valueMainUI/lpConfig.h @@ -20,6 +20,7 @@ public: QString appPathB;//Bϵͳ· · bool doubleStation{ true };//true ˫λ ; false λ int plcServerPort{ 1000 };//PLCͨѶ tcp˿ + int trigerFilter{ 1000 }; }; #endif \ No newline at end of file diff --git a/tpvs17/valueMainUI/lpConfigUI.cpp b/tpvs17/valueMainUI/lpConfigUI.cpp index 50fbafa..ec1eb58 100644 --- a/tpvs17/valueMainUI/lpConfigUI.cpp +++ b/tpvs17/valueMainUI/lpConfigUI.cpp @@ -58,6 +58,7 @@ Q_SLOT void lpConfigUI::onButtonClicked() lpConfig::instance()->portB = ui.lineEdit_BPort->text().toInt(); lpConfig::instance()->doubleStation = ui.checkBox_doubleStation->isChecked(); lpConfig::instance()->plcServerPort = ui.lineEdit_serverPort->text().toInt(); + lpConfig::instance()->trigerFilter = ui.lineEdit_trigerFilter->text().toInt(); lpConfig::instance()->saveConfig(); ui.label_5->setVisible(true); m_timerID = startTimer(1000); @@ -82,7 +83,7 @@ void lpConfigUI::showEvent(QShowEvent *event) ui.lineEdit_BPort->setText(QString("%1").arg(lpConfig::instance()->portB)); ui.checkBox_doubleStation->setChecked(lpConfig::instance()->doubleStation); ui.lineEdit_serverPort->setText(QString("%1").arg(lpConfig::instance()->plcServerPort)); - + ui.lineEdit_trigerFilter->setText(QString("%1").arg(lpConfig::instance()->trigerFilter)); QSettings languageSetting("hubdetect.ini", QSettings::IniFormat); QString strLanguage = languageSetting.value("language", "Chinese").toString(); ui.comboBox->setCurrentText(strLanguage); diff --git a/tpvs17/valueMainUI/lpConfigUI.ui b/tpvs17/valueMainUI/lpConfigUI.ui index ae30a5e..4802a1b 100644 --- a/tpvs17/valueMainUI/lpConfigUI.ui +++ b/tpvs17/valueMainUI/lpConfigUI.ui @@ -273,13 +273,6 @@ 机台PLC通讯: - - - - TCP服务端口: - - - @@ -300,6 +293,34 @@ + + + + TCP服务端口: + + + + + + + 1000 + + + + + + + 相机触发滤波: + + + + + + + 单位(ms) + + + diff --git a/tpvs17/valueMainUI/valueMainUI.cpp b/tpvs17/valueMainUI/valueMainUI.cpp index 48a1edb..97ba1c8 100644 --- a/tpvs17/valueMainUI/valueMainUI.cpp +++ b/tpvs17/valueMainUI/valueMainUI.cpp @@ -135,10 +135,15 @@ valueMainUI::valueMainUI(QWidget *parent) } lpGlobalData::instance()->m_StationResult_1.stationID = 1; lpGlobalData::instance()->m_StationResult_2.stationID = 2; + + m_timerFilterA.setSingleShot(true); + m_timerFilterB.setSingleShot(true); } valueMainUI::~valueMainUI() { + m_timerFilterA.stop(); + m_timerFilterB.stop(); onStopProcess();//本系统退出时 杀死由本系统启动的A B检测程序 //内存释放 { @@ -1012,6 +1017,11 @@ Q_SLOT void valueMainUI::onPLCTrigerCam(int camID) //onTriggerCam(); if (camID == 1)//A侧相机触发拍照 { + if (m_timerFilterA.isActive()) + return; + int t = lpConfig::instance()->trigerFilter; + if (t > 0) + m_timerFilterA.start(t); TP_PROTOCOL_MESSAGE msg; QJsonObject sObj; sObj.insert("cmd", "trigerCam"); @@ -1021,6 +1031,12 @@ Q_SLOT void valueMainUI::onPLCTrigerCam(int camID) } else if (camID == 2)//B侧相机拍照 { + if (m_timerFilterB.isActive()) + return; + int t = lpConfig::instance()->trigerFilter; + if (t > 0) + m_timerFilterB.start(t); + TP_PROTOCOL_MESSAGE msg; QJsonObject sObj; sObj.insert("cmd", "trigerCam"); diff --git a/tpvs17/valueMainUI/valueMainUI.h b/tpvs17/valueMainUI/valueMainUI.h index 4c305e1..78b0409 100644 --- a/tpvs17/valueMainUI/valueMainUI.h +++ b/tpvs17/valueMainUI/valueMainUI.h @@ -15,6 +15,7 @@ #include "QTCPDebugUI.h" #include +#include class valueMainUI : public QMainWindow { @@ -119,6 +120,9 @@ private: QPLCDevice* m_pPlcDevice{ nullptr }; QVector m_VecTranPtr;//ʻ԰ + + QTimer m_timerFilterA; + QTimer m_timerFilterB; }; #endif