diff --git a/src/interface/IWheelModel.h b/src/interface/IWheelModel.h index 2bd86e5..864ab67 100644 --- a/src/interface/IWheelModel.h +++ b/src/interface/IWheelModel.h @@ -35,7 +35,9 @@ public: virtual bool reloadTmpImage(const QString&) = 0; virtual bool initComModel(const QString&) = 0; virtual int getImageModel() const = 0; - virtual int getImgCount() const =0; + virtual int getImgCount() const = 0; + virtual bool getAddTrainFlag()const = 0; + virtual void setTrainFlag(bool bFlag) = 0; private: }; diff --git a/src/tpMain/ModelManager.cpp b/src/tpMain/ModelManager.cpp index e1e0ec9..83f72da 100644 --- a/src/tpMain/ModelManager.cpp +++ b/src/tpMain/ModelManager.cpp @@ -169,6 +169,20 @@ TempImage * ModelManager::getTmpImage(QString str) if (!m_mpModels.contains(str)) { return NULL; } + + return m_mpModels.value(str)->getTempImage(); +} + +TempImage * ModelManager::getTrainImage(QString str) +{ + if (!m_mpModels.contains(str)) { + return NULL; + } + IWheelModel *pMode = m_mpModels.value(str); + if (pMode->getAddTrainFlag() == false) + { + return NULL; + } return m_mpModels.value(str)->getTempImage(); } @@ -177,7 +191,7 @@ QMap> ModelManager::getAllModelImage() QMap> mpAllImage; QStringList lst = getAllModelName(); for (int i = 0; i < lst.size(); i++) { - TempImage *pImg = getTmpImage(lst.at(i)); + TempImage *pImg = getTrainImage(lst.at(i)); if (pImg) { mpAllImage.insert(lst.at(i), pImg->getImgVector()); } @@ -198,7 +212,7 @@ std::vector ModelManager::getAllModelImageExcSelf(QString strName) if (lst.at(i) == strName) { continue; } - TempImage *pImg = getTmpImage(lst.at(i)); + TempImage *pImg = getTrainImage(lst.at(i)); if (pImg) { const std::vector &imgVec = pImg->getImgVector(); mpAllImage.insert(mpAllImage.end(), imgVec.begin(), imgVec.end()); @@ -213,7 +227,7 @@ std::vector ModelManager::getAllTarImgs(std::vector strName) for (int i = 0; i < strName.size(); i++) { modelInfo m_model; - TempImage *pImg = getTmpImage(strName[i]); + TempImage *pImg = getTrainImage(strName[i]); if (pImg) { const std::vector &imgVec = pImg->getImgVector(); @@ -308,7 +322,9 @@ QMap ModelManager::getAllImgsExcSelf(QString strName /*= QStri continue; } - TempImage *pImg = getTmpImage(lst.at(i)); + QString strModeName = lst.at(i); + + TempImage *pImg = getTrainImage(lst.at(i)); if (pImg) { const std::vector &imgVec = pImg->getImgVector(1); if (imgVec.size()<=0) @@ -327,7 +343,7 @@ std::vector ModelManager::getFirstImgFromFalse(QString strName /*= QStr if (lst.at(i) == strName) { continue; } - TempImage *pImg = getTmpImage(lst.at(i)); + TempImage *pImg = getTrainImage(lst.at(i)); if (pImg) { const std::vector &imgVec = pImg->getImgVector(1); mpAllImage.push_back(imgVec.front()); diff --git a/src/tpMain/ModelManager.h b/src/tpMain/ModelManager.h index d7558e5..9749915 100644 --- a/src/tpMain/ModelManager.h +++ b/src/tpMain/ModelManager.h @@ -56,6 +56,7 @@ public: std::vector getAllModelImageExcSelf(QString strName = QString()); std::vector getAllTarImgs(std::vector strName); class TempImage *getTmpImage(QString str); + class TempImage *getTrainImage(QString str); private: QVariantMap genDbMap(IWheelModel* val); private: diff --git a/src/tpMain/WheelModel.h b/src/tpMain/WheelModel.h index b2c05f7..6f9db81 100644 --- a/src/tpMain/WheelModel.h +++ b/src/tpMain/WheelModel.h @@ -1,4 +1,6 @@ -#pragma once +#ifndef _H_WHEELMODEL_H_ +#define _H_WHEELMODEL_H_ + #include "IWheelModel.h" #include "ICompareModel.h" @@ -37,12 +39,15 @@ public: virtual TempImage *getTempImage() const; virtual int getImageModel()const; virtual int getImgCount() const; + virtual bool getAddTrainFlag()const { return m_bAddTrain; } + virtual void setTrainFlag(bool bFlag) { m_bAddTrain = bFlag; } public: QString m_strModelID; double m_dHeight; //mm 厚度 double m_dDiameter; //mm 直径 int m_passageway; int m_nRotate; + bool m_bAddTrain{ true };//是否加入训练 默认true 加入训练 / false 不加入训练 QString m_strPath; bool bDetect; @@ -51,3 +56,5 @@ public: class TempImage *m_pTempImage; class ICompareModel *m_pDetectModel; }; + +#endif diff --git a/tpvs17/tpMain/QModelMgrDlg.cpp b/tpvs17/tpMain/QModelMgrDlg.cpp index 7edc558..1e2ceec 100644 --- a/tpvs17/tpMain/QModelMgrDlg.cpp +++ b/tpvs17/tpMain/QModelMgrDlg.cpp @@ -195,6 +195,8 @@ Q_SLOT void QModelMgrDlg::onModifyModel() } pModel->setThickness(ui.ModelMgr_model_edit_height->text().toDouble()); pModel->setDiameter(ui.ModelMgr_model_edit_diameter->text().toDouble()); + pModel->setTrainFlag(ui.checkBox->isChecked()); + double thisvalue = pModel->getImageComModel()->getDisThre(); double falsMinDis = pModel->getImageComModel()->getFalseSampleMinDis(); double disMax = pModel->getImageComModel()->getDisMax(); @@ -503,6 +505,8 @@ Q_SLOT void QModelMgrDlg::onShowModelInfo(QString str) ui.ModelMgr_model_edit->setText(m_pModelMgr->getModel(str)->getModelID()); ui.ModelMgr_model_edit_diameter->setText(QString::number(m_pModelMgr->getModel(str)->getDiameter())); ui.ModelMgr_model_edit_height->setText(QString::number(m_pModelMgr->getModel(str)->getThickness())); + ui.checkBox->setChecked(m_pModelMgr->getModel(str)->getAddTrainFlag()); + double disThred = m_pModelMgr->getModel(str)->getImageComModel()->getDisThre(); double FalseMinDis = m_pModelMgr->getModel(str)->getImageComModel()->getFalseSampleMinDis(); double disMax = m_pModelMgr->getModel(str)->getImageComModel()->getDisMax(); @@ -594,6 +598,7 @@ void QModelMgrDlg::onClearShow() ui.ModelMgr_model_edit->setText(""); ui.ModelMgr_model_edit_diameter->setText(""); ui.ModelMgr_model_edit_height->setText(""); + ui.checkBox->setChecked(false); QPixmap pix(MODEL_UI_ICON_NONE); ui.ModelMgr_modelpic_lable->setPixmap(pix.scaled(WS_PICSIZE, WS_PICSIZE)); ui.ModelMgr_horizontalSlider->setValue(0); diff --git a/tpvs17/tpMain/QModelMgrDlg.ui b/tpvs17/tpMain/QModelMgrDlg.ui index fcf0dcb..1866a35 100644 --- a/tpvs17/tpMain/QModelMgrDlg.ui +++ b/tpvs17/tpMain/QModelMgrDlg.ui @@ -6,37 +6,25 @@ 0 0 - 1025 - 684 + 985 + 691 QModelMgrDlg - - - - - - 0 - 0 - - + + + 11 - - true - - 轮毂信息: - - - false + 模板型号查询 - + 6 @@ -49,459 +37,512 @@ 6 - + 6 - - - - 0 - 0 - - - - - 11 - - - - 型号 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 25 - - - - - 11 - - - - true - - - - - - - - 30 - 0 - - - - 0% - - - - - - - 阈值调节 - - - - - - - - 11 - - - - 严格 - - - - - - - Qt::Horizontal - - - - - - - - 11 - - - - 旋转次数 - - - - - - - - 11 - - - - - - - - - - - 129 - 129 - - - - true - + + + - - - - Qt::PlainText - - - :/image/none.jpg - - - false - - - Qt::AlignCenter - - - false + 查找: - - - - - 11 - + + + + + 0 + 0 + - - 缩略图 + + + 0 + 25 + - - Qt::AlignCenter + + + 117 + 20 + - - - - - 11 - - - - 宽松 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 25 - - - - - 11 - - - - - - - - 11 - - - - 厚度(mm) - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 25 - - - - - 11 - - - - - - - - - 11 - - - - 直径(mm) - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - - - 0 - 0 - - - - - 11 - - - - 基本操作 - - - - - - - 0 - 0 - - - - - 81 - 51 - - - - 删除模板 - - - 删除模板 - - - - - - - - 0 - 0 - - - - 训练当前模板 - - - 训练模板 - - - - - - - - 0 - 0 - - - - - 61 - 51 - - - - 添加新的模板 - - - 新建模板 - - - true - - - - - - - - 0 - 0 - - - - 训练所有模板,消耗时间会较长 - + - 训练全部 + 数量 - + - + 0 0 - 81 - 51 + 161 + 16777215 - - 确认修改,每次修改模板的参数后都要确认修改才有效 - - - 修改确认 - - - - - - - - 0 - 0 - - - - 修改型号名 + + + modelID + - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - - - - 11 - - - - 图片显示: - - - - - - TextLabel - - - - - - - - - - + + + + + + + 11 + + + + 图片显示: + + + + + + + + + + + + + + + + + + + 0 + 0 + + + + + 41 + 41 + + + + 添加已裁剪的轮毂图片 + + + 添加已裁剪的轮毂图片 + + + 追加 + + + false + + + false + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 0 + 0 + + + + 删除所有模板 + + + 删除所有模板 + + + + + + + + + + + + + + + + 0 + 0 + + + + + 11 + + + + true + + + 轮毂信息: + + + false + + + + + + + + + 11 + + + + 直径(mm) + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 11 + + + + + + + + + 11 + + + + 厚度(mm) + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 11 + + + + 型号 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 25 + + + + + 11 + + + + true + + + + + + + + 11 + + + + 旋转次数 + + + + + + + + 0 + 25 + + + + + 11 + + + + + + + + + 0 + 25 + + + + + 11 + + + + + + + + 加入训练 + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 11 + + + + 严格 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 11 + + + + 宽松 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + 阈值调节 + + + + + + + Qt::Horizontal + + + + + + + + 30 + 0 + + + + 0% + + + + + + + + + + + + 129 + 129 + + + + true + + + + + + Qt::PlainText + + + :/image/none.jpg + + + false + + + Qt::AlignCenter + + + false + + + + + + + + 11 + + + + 缩略图 + + + Qt::AlignCenter + + + + + + + + + + + + + 0 + 0 + + + + + 11 + + + + 基本操作 + + + + - + 0 0 - - - 41 - 41 - - - 添加已裁剪的轮毂图片 - - - 添加已裁剪的轮毂图片 + 训练所有模板,消耗时间会较长 - 追加 - - - false - - - false + 训练全部 - - - - Qt::Vertical + + + + + 0 + 0 + - - - 20 - 40 - + + 删除模板 - + + 删除模板 + + - - + + 0 @@ -509,109 +550,77 @@ - 删除所有模板 - - - 删除所有模板 + 训练当前模板 - + 训练模板 - - - - - - - - - - 11 - - - - 模板型号查询 - - - - 6 - - - 6 - - - 6 - - - 6 - - - 6 - - - - + + + + 0 + 0 + + + + + 61 + 51 + + + + 添加新的模板 + - 查找: + 新建模板 + + + true - - + + - + 0 0 - - - 0 - 25 - + + 确认修改,每次修改模板的参数后都要确认修改才有效 - - - 117 - 20 - + + 修改确认 + + + + + + + + 0 + 0 + + + + 修改型号名 - - - - - 数量 - - - - - - - - 0 - 0 - - - - - 161 - 16777215 - - - - - modelID - - - - - + + + + + + + + +