增加模板不加入训练功能

jizhi
bobpan 5 years ago
parent 8688d31cf6
commit 4e7ecdee9a

@ -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:
};

@ -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<QString, std::vector<cv::Mat>> ModelManager::getAllModelImage()
QMap<QString, std::vector<cv::Mat>> 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<cv::Mat> 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<cv::Mat> &imgVec = pImg->getImgVector();
mpAllImage.insert(mpAllImage.end(), imgVec.begin(), imgVec.end());
@ -213,7 +227,7 @@ std::vector<modelInfo> ModelManager::getAllTarImgs(std::vector<QString> 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<cv::Mat> &imgVec = pImg->getImgVector();
@ -308,7 +322,9 @@ QMap<QString, cv::Mat> 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<cv::Mat> &imgVec = pImg->getImgVector(1);
if (imgVec.size()<=0)
@ -327,7 +343,7 @@ std::vector<cv::Mat> 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<cv::Mat> &imgVec = pImg->getImgVector(1);
mpAllImage.push_back(imgVec.front());

@ -56,6 +56,7 @@ public:
std::vector<cv::Mat> getAllModelImageExcSelf(QString strName = QString());
std::vector<modelInfo> getAllTarImgs(std::vector<QString> strName);
class TempImage *getTmpImage(QString str);
class TempImage *getTrainImage(QString str);
private:
QVariantMap genDbMap(IWheelModel* val);
private:

@ -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

@ -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);

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save