add usbbackground param

newClassify
qushuai777 5 years ago
parent 1d2d81c703
commit daf8f3e8c5

@ -240,7 +240,7 @@ int CAlgorithmFluorescence::IImageAnalysis(class IImageObject* pImgObj, TP_ALGOR
bool useDiameter = vMap.value("useDiameter", 0).toBool();
double dD2H = vMap.value("d2h", -1).toDouble();
int nthreshold = vMap.value("Threshold", 15).toInt();
bool bUseBackground = vMap.value("useBackground").toBool();
bool bUseBackground = vMap.value("useBackground",false).toBool();//true 使用背景图抠图 false 不使用背景
if (nthreshold <= 0)
nthreshold = 15;

@ -40,7 +40,7 @@ Mat findEdge2(const Mat &Src)
filter2D(Src, ret, CV_8UC1, kernel);
return ret;
}
#define REAIZE 2
#define REAIZE 1
cv::Mat ImageProcess::findCircleObject(const Mat &src, const Mat& backgroundImg, int nThres /*= 20*/, luffy_base::luffyCircle *pCircle /*= NULL*/)
{
#ifdef MOTO_DETECT//摩轮型号识别抠图算法

@ -53,6 +53,7 @@ void DetectState::init(QString strPath)
m_Debug = detectImage.value("Debug").toInt(1001);
saveGood = detectImage.value("Save_Good").toInt(0);
saveBad = detectImage.value("Save_Bad").toInt(0);
m_UseBackground = detectImage.value("UseBackground").toInt(0);
saveCutGood = detectImage.value("SaveCut_Good").toInt(0);
saveCutBad = detectImage.value("SaveCut_Bad").toInt(0);
m_SaveImgDirPath = detectImage.value("SaveImgPath").toString();
@ -213,8 +214,10 @@ void DetectState::saveDeteImage()
DetectImage.insert("Save_Bad", saveBad);
DetectImage.insert("Save_Good", saveGood);
DetectImage.insert("SaveImgPath",m_SaveImgDirPath);
DetectImage.insert("UseBackground", m_UseBackground);
jsMyself.insert("DetectImage", DetectImage);
QJsonObject autosystemobj;
autosystemobj.insert("AutoSendTick2COM", m_AutoSendTick2COM);
autosystemobj.insert("AutoSendTick2Net", m_AutoSendTick2Net);

@ -76,7 +76,7 @@ public:
int m_showThressValue;
int m_showThressList;
int m_UseCutImg;
int m_UseBackground{0};
bool bLockDetect{ false };
};

@ -236,6 +236,7 @@ void QSystemSettingDlg::addPicRoot(QTreeWidget *pTreewidget, QString strName)
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("抠图后"))));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("原图"))));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("原图"))));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("背景图"))));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("检测结果"))));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("图像保存路径"))));
picitems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(tr("设置保存路径"))));
@ -266,6 +267,12 @@ void QSystemSettingDlg::addPicRoot(QTreeWidget *pTreewidget, QString strName)
connect(m_saveImgSrc_bad, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_saveImgSrc_bad->setChecked(DetectState::instance()->saveBad == (int)true);
QCheckBox *m_useBackground = new QCheckBox;
m_useBackground->setText(tr("使用背景图"));
m_useBackground->setObjectName("m_useBackground");
connect(m_useBackground, SIGNAL(stateChanged(int)), this, SLOT(onCheckstateChanged(int)));
m_useBackground->setChecked(DetectState::instance()->saveBad == (int)true);
QCheckBox *m_ResAll2A = new QCheckBox;
m_ResAll2A->setText(tr("轮毂全去A通道"));
m_ResAll2A->setObjectName("m_ResAll2A");
@ -295,16 +302,18 @@ void QSystemSettingDlg::addPicRoot(QTreeWidget *pTreewidget, QString strName)
pTreewidget->setItemWidget(picitems.at(2), 1, m_saveImgRes_bad);
pTreewidget->setItemWidget(picitems.at(3), 1, m_saveImgSrc_good);
pTreewidget->setItemWidget(picitems.at(4), 1, m_saveImgSrc_bad);
pTreewidget->setItemWidget(picitems.at(5), 1, m_ResAll2A);
pTreewidget->setItemWidget(picitems.at(6), 1, m_pLbShowPath);
pTreewidget->setItemWidget(picitems.at(7), 1, pbSetSavePath);
pTreewidget->setItemWidget(picitems.at(8), 1, pbOpenImgPath);
pTreewidget->setItemWidget(picitems.at(9), 1, pSavePara);
pTreewidget->setItemWidget(picitems.at(5), 1, m_useBackground);
pTreewidget->setItemWidget(picitems.at(6), 1, m_ResAll2A);
pTreewidget->setItemWidget(picitems.at(7), 1, m_pLbShowPath);
pTreewidget->setItemWidget(picitems.at(8), 1, pbSetSavePath);
pTreewidget->setItemWidget(picitems.at(9), 1, pbOpenImgPath);
pTreewidget->setItemWidget(picitems.at(10), 1, pSavePara);
m_listObj.append(pChangeBGbp);
m_listObj.append(m_saveImgRes_bad);
m_listObj.append(m_saveImgRes_good);
m_listObj.append(m_saveImgSrc_bad);
m_listObj.append(m_useBackground);
m_listObj.append(m_saveImgSrc_good);
m_listObj.append(m_ResAll2A);
m_listObj.append(m_pLbShowPath);
@ -322,6 +331,7 @@ void QSystemSettingDlg::addPicRoot(QTreeWidget *pTreewidget, QString strName)
picitems.at(7)->setSizeHint(1, QSize(100, 40));
picitems.at(8)->setSizeHint(1, QSize(100, 40));
picitems.at(9)->setSizeHint(1, QSize(100, 40));
picitems.at(10)->setSizeHint(1, QSize(100, 40));
}
void QSystemSettingDlg::addPLCRoot(QTreeWidget *pTreewidget, QString strName)
@ -709,6 +719,9 @@ Q_SLOT void QSystemSettingDlg::onCheckstateChanged(int state)
else if (strObj == "m_saveImgSrc_bad") {
DetectState::instance()->saveBad = int(state == 2);
}
else if (strObj == "m_useBackground") {
DetectState::instance()->m_UseBackground = int(state == 2);
}
else if (strObj == "m_ResAll2A") {
DetectState::instance()->m_bObjAll2A = (state == 2 ? true : false);
}

@ -601,6 +601,7 @@ QVariant lpMainWin::IGetVariantById(int id)
vMap.insert("useDiameter", DetectState::instance()->bUseDiameter);
vMap.insert("Threshold", DetectState::instance()->m_AlgThres);
vMap.insert("IsCutImg", DetectState::instance()->m_UseCutImg);
vMap.insert("useBackground", DetectState::instance()->m_UseBackground>0?true:false);//使用背景图
void* address = (void*)m_pCtrl->getAllModelMapPtr();
long long varadr = (long long)address;

Loading…
Cancel
Save