1、添加修改光栅总数的功能。2、修改直径显示错误的问题

master
qushuailong 4 years ago
parent 70dba12e32
commit 7e768b6705

@ -7,13 +7,14 @@
"Raster": {
"basehight": 0,
"basehight_bool": false,
"beilv": 1,
"beilv": 6,
"beilv_bool": true,
"lowNum": 0,
"lowNum_bool": false,
"maxsize": 10,
"maxsize_bool": false,
"mid_value": 0.8,
"mid_value_bool": false
"mid_value_bool": false,
"totalNum": 71
}
}

@ -28,6 +28,7 @@ void CRaster::saveDefaultParam()
{
QJsonObject jsRaster = QJsonObject();
QJsonObject Rasterobj_dev;
Rasterobj_dev.insert("totalNum", QJsonValue(m_pRasSt->m_totalNum));//光栅总数
Rasterobj_dev.insert("beilv", QJsonValue(m_pRasSt->m_beilv));
Rasterobj_dev.insert("basehight", QJsonValue(m_pRasSt->m_baseHight));
Rasterobj_dev.insert("mid_value", QJsonValue(m_pRasSt->mid_value));//中值
@ -74,6 +75,7 @@ bool CRaster::readRasterJson()
QJsonObject jsRaster = readDoc.object();
QJsonObject Rsaterobj = jsRaster.value("Raster").toObject();
if (!Rsaterobj.isEmpty()) {
m_pRasSt->m_totalNum = Rsaterobj.value("totalNum").toInt(71);//光栅总数
m_pRasSt->m_beilv = Rsaterobj.value("beilv").toDouble(5.07);
m_pRasSt->m_baseHight = Rsaterobj.value("basehight").toDouble(87);
m_pRasSt->mid_value = Rsaterobj.value("mid_value").toDouble(0.8);//中值
@ -119,6 +121,7 @@ bool CRaster::saveRasterJson(emTySaveJsonType emType)
{
case EMTYPE_RASTER:{
QJsonObject Rasterobj;
Rasterobj.insert("totalNum", QJsonValue(m_pRasSt->m_totalNum));//光栅总数
Rasterobj.insert("beilv", QJsonValue(m_pRasSt->m_beilv));
Rasterobj.insert("basehight", QJsonValue(m_pRasSt->m_baseHight));
Rasterobj.insert("mid_value", QJsonValue(m_pRasSt->mid_value));//中值
@ -180,7 +183,7 @@ double CRaster::getThicknessValue() const
void CRaster::addThicknessValue(double dValue)
{
double dThickness = (63 - dValue) * m_pRasSt->m_beilv*1.0;//获取光栅数据 乘以 倍率 得出遮挡的厚度
double dThickness = (m_pRasSt->m_totalNum - dValue) * m_pRasSt->m_beilv*1.0;//获取光栅数据 乘以 倍率 得出遮挡的厚度
m_pThickness->addValue(dThickness + m_pRasSt->m_baseHight);
}

@ -8,6 +8,7 @@ struct RasterST//光栅数据结构体
double mid_value;//中值大小
int m_maxsize;//容器大小
int m_lowNum;//最小值
int m_totalNum; //光栅总数
bool m_bool_beilv;
bool m_bool_baseHight;
bool m_bool_maxsize;

@ -38,7 +38,7 @@
<string notr="true">font: 11pt &quot;Consolas&quot;;</string>
</property>
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
@ -56,7 +56,7 @@
<x>0</x>
<y>0</y>
<width>663</width>
<height>896</height>
<height>884</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
@ -316,7 +316,7 @@
</widget>
</item>
<item row="2" column="0">
<widget class="QLineEdit" name="Raster_ShowlineEdit_5">
<widget class="QLineEdit" name="totalNum">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
@ -458,7 +458,7 @@
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<y>-140</y>
<width>663</width>
<height>597</height>
</rect>
@ -693,31 +693,6 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="Raster_SaveRasterDire">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>保存设置</string>
</property>
</widget>
</item>
<item row="0" column="3" rowspan="4">
<widget class="QTextBrowser" name="textBrowser">
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Consolas'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;直径标定曲率:是用于校准算法计算出的轮毂直径与实际轮毂直径用的&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;曲率=轮毂高度*k+B 计算曲率的前提是轮毂的高度数据必须准确(误差小)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_19">
<property name="text">
@ -744,10 +719,15 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item row="0" column="1" colspan="2">
<widget class="QLabel" name="label_20">
<property name="text">
<string>K:表示斜率B基准点直径=高度*K+B</string>
<item row="0" column="3" rowspan="4">
<widget class="QTextBrowser" name="textBrowser">
<property name="html">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Consolas'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;直径标定曲率:是用于校准算法计算出的轮毂直径与实际轮毂直径用的&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;曲率=轮毂高度*k+B 计算曲率的前提是轮毂的高度数据必须准确(误差小)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
@ -773,6 +753,26 @@ p, li { white-space: pre-wrap; }
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="Raster_SaveRasterDire">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>保存设置</string>
</property>
</widget>
</item>
<item row="0" column="1" colspan="2">
<widget class="QLabel" name="label_20">
<property name="text">
<string>K:表示斜率B基准点曲率=高度*K+B</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>

@ -126,11 +126,11 @@ void muban::Appanalysis(Raster_ComFrame m_ComFrame){
{
emit(sgThress((m_RecvData.data4 * 255 + m_RecvData.data3)));//发送光栅数据
emit(sgShowValue(63-(m_RecvData.data4 * 255 + m_RecvData.data3)));//显示光栅数据
emit(sgShowValue(m_totalNum -(m_RecvData.data4 * 255 + m_RecvData.data3)));//显示光栅数据
if (bInsertData)
{
emit(sgShowMsgLabel(m_RecvData.data4 * 255 + m_RecvData.data3, 1));
emit(sgShowMsgLabel(63 - (m_RecvData.data4 * 255 + m_RecvData.data3), 2));
emit(sgShowMsgLabel(m_totalNum - (m_RecvData.data4 * 255 + m_RecvData.data3), 2));
emit(sgShowMsgLabel(m_RecvData.data2 * 255 + m_RecvData.data1, 3));
}
@ -232,6 +232,7 @@ void muban::initUI()
pGridLayout->addWidget(m_switsybp);
pGridLayout->addSpacing(1);
}
Raster_TotalNum = ui.totalNum;
doubleSpinBox_beilv = ui.doubleSpinBox_beilv;
doubleSpinBox_baseheight = ui.doubleSpinBox_baseheight;
doubleSpinBox_min = ui.doubleSpinBox_min;
@ -258,7 +259,6 @@ void muban::initUI()
//关闭设备
Raster_CloseDevice = ui.Raster_CloseDevice;
connect(Raster_CloseDevice, SIGNAL(clicked()), this, SLOT(onCtrolDevice()));
connect(ui.Raster_SaveCombp, SIGNAL(clicked()), this, SLOT(onSaveData()));
@ -441,6 +441,8 @@ void muban::SetData2UI(RasterST *m_rastdata)
if (m_rastdata == NULL)
return;
m_pRaster = m_rastdata;
m_totalNum = m_rastdata->m_totalNum;
Raster_TotalNum->setText(QString::number(m_rastdata->m_totalNum));
doubleSpinBox_beilv->setValue(m_rastdata->m_beilv);
doubleSpinBox_min->setValue(m_rastdata->m_lowNum);
doubleSpinBox_baseheight->setValue(m_rastdata->m_baseHight);
@ -635,7 +637,7 @@ Q_SLOT void muban::onAddData2Graph(int nData)
{
if (m_graph1&&bInsertData&&m_pRaster)
{
double dThickness = (63 - nData) * m_pRaster->m_beilv*1.0;//获取光栅数据 乘以 倍率 得出遮挡的厚度
double dThickness = (m_pRaster->m_totalNum - nData) * m_pRaster->m_beilv*1.0;//获取光栅数据 乘以 倍率 得出遮挡的厚度
double dValue = dThickness + m_pRaster->m_baseHight;
m_graph1->appendPoint(dValue);
}

@ -68,6 +68,7 @@ public slots:
public:
Q_SLOT void onRecvThread(const QStringList &s);
private:
class QLineEdit *Raster_TotalNum;
class QLineEdit *Raster_ShowlineEdit;
class QLineEdit *Raster_ShowlineEdit_2;
class QLineEdit *Raster_ShowlineEdit_3;
@ -104,6 +105,7 @@ private:
protected:
bool bInsertData;
class QSimpleTickerGraph *m_graph1;
int m_totalNum{ 63 };
protected:
virtual void closeEvent(QCloseEvent *event);
virtual void showEvent(QShowEvent *event);

@ -128,7 +128,7 @@ int CAlgorithmFluorescence::IImageAnalysis(class IImageObject* pImgObj, TP_ALGOR
lCircle.ptCenter = centerPoint;
lCircle.fRadius = radius;
}
if (matMatch.cols >= 900 || matMatch.rows >= 900)//控制检测图像大小不能超过这个范围
if (matMatch.cols >= 1800 || matMatch.rows >= 1800)//控制检测图像大小不能超过这个范围
{
cv::resize(matMatch, matMatch, cv::Size(matMatch.cols / 2, matMatch.rows / 2));
lCircle.fRadius = lCircle.fRadius / 2;

@ -917,7 +917,7 @@ bool QModelMgrDlg::appImage2Widget(QString strPath, QString strModel)
if (dst.empty()) {
return false;
}
if (dst.rows >= 900 || dst.cols >= 900)
if (dst.rows >= 1800 || dst.cols >= 1800)
return false;
//显示
QString strFileName = strModel + "_" + hubBase::genDateTime("MMddhhmmzzz");

@ -27,8 +27,8 @@
#define VERSION_ALG "3.0.1.6"
#define UPDATE_TIME "2022-06-20"
#define WHEELHIGHTTHRESH 260.0 //轮毂高度阈值,当轮毂高度大于这个值时,启用相机升高的直径算法
#define CAMERAUPHEIGHT 254.0 //相机上升高度默认10英寸
#define WHEELHIGHTTHRESH 250.0 //轮毂高度阈值10英寸,当轮毂高度大于这个值时,启用相机升高的直径算法
#define CAMERAUPHEIGHT 112.0 //相机上升高度默认11.2cm
#pragma execution_character_set("utf-8")
lpMainWin::lpMainWin(QWidget *parent)
@ -740,19 +740,24 @@ QVariant lpMainWin::IGetVariantById(int id)
emit(sgShowMsg(str, true));
}
QVariantMap vMap;
int nThickness = 0;
double nThickness = 0;
double showThickness = 0;
if (DetectState::instance()->m_IsUseRaster == 0)
{
nThickness = m_nWfThress;
showThickness = nThickness;
}
else
{
nThickness = m_pCtrl->getThickness();
showThickness = nThickness;
if (nThickness > WHEELHIGHTTHRESH)
{
nThickness -= CAMERAUPHEIGHT;
}
}
vMap.insert("thickness", QVariant(nThickness));
vMap.insert("thickness", QVariant(showThickness));
double dDiameter;// = (-794.25 * nThickness / 1000000.0 + 0.775960);
dDiameter = (DetectState::instance()->m_k * nThickness + DetectState::instance()->m_b);
vMap.insert("d2h", dDiameter);
@ -781,7 +786,7 @@ QVariant lpMainWin::IGetVariantById(int id)
qDebug() << "end get one pic" << id;
if (DetectState::instance()->m_showThressValue == 1) {
QString str = QString("thickness value = %1,dDiameter value = %2").arg(nThickness).arg(dDiameter);
QString str = QString("thickness value = %1,dDiameter value = %2").arg(showThickness).arg(dDiameter);
emit(sgShowMsg(str, true));
}
return vMap;

Loading…
Cancel
Save