算法调整圆心定位方法

注册码增加注册信息记录
master
bob.pan 4 years ago
parent 32f12ce826
commit 3354618de8

@ -70,10 +70,17 @@ cv::Mat ImageProcess::findCircle(const Mat &srcImg, Point2f& center, double &rad
int nIndex = -1; int nIndex = -1;
float centerX = 0; float centerX = 0;
float centerY = 0; float centerY = 0;
double tmpmaxR = 0;
for (int i = 0; i < EDCircle.size(); i++) for (int i = 0; i < EDCircle.size(); i++)
{ {
int startX = EDCircle[i].center.x - EDCircle[i].r; int startX = EDCircle[i].center.x - EDCircle[i].r;
int startY = EDCircle[i].center.y - EDCircle[i].r; int startY = EDCircle[i].center.y - EDCircle[i].r;
if (EDCircle[i].r > tmpmaxR)
{
centerX = EDCircle[i].center.x * REAIZE;
centerY = EDCircle[i].center.y * REAIZE;
tmpmaxR = EDCircle[i].r;
}
if (startX < 0 || startY < 0) if (startX < 0 || startY < 0)
continue; continue;
if (EDCircle[i].center.x + EDCircle[i].r > bBaseX || EDCircle[i].center.y + EDCircle[i].r > bBaseY) if (EDCircle[i].center.x + EDCircle[i].r > bBaseX || EDCircle[i].center.y + EDCircle[i].r > bBaseY)
@ -204,10 +211,18 @@ cv::Mat ImageProcess::findCircleByBackground(const Mat &srcImg, const Mat& backg
int nIndex = -1; int nIndex = -1;
float centerX = 0; float centerX = 0;
float centerY = 0; float centerY = 0;
double tmpmaxR = 0;
for (int i = 0; i < EDCircle.size(); i++) for (int i = 0; i < EDCircle.size(); i++)
{ {
int startX = EDCircle[i].center.x - EDCircle[i].r; int startX = EDCircle[i].center.x - EDCircle[i].r;
int startY = EDCircle[i].center.y - EDCircle[i].r; int startY = EDCircle[i].center.y - EDCircle[i].r;
if (EDCircle[i].r > tmpmaxR)
{
centerX = EDCircle[i].center.x * REAIZE;
centerY = EDCircle[i].center.y * REAIZE;
tmpmaxR = EDCircle[i].r;
}
if (startX < 0 || startY < 0) if (startX < 0 || startY < 0)
continue; continue;
if (EDCircle[i].center.x + EDCircle[i].r > bBaseX || EDCircle[i].center.y + EDCircle[i].r > bBaseY) if (EDCircle[i].center.x + EDCircle[i].r > bBaseX || EDCircle[i].center.y + EDCircle[i].r > bBaseY)

@ -87,6 +87,15 @@ bool lpCheckKey::checkLinese()
} }
QSettings settingKey("Leaper_Register"); QSettings settingKey("Leaper_Register");
QString strKey = settingKey.value("key").toString(); QString strKey = settingKey.value("key").toString();
bool bRegister = settingKey.value("register", false).toBool();
QString serialNo = settingKey.value("serialNo").toString();
if (m_SerialNo != serialNo)
{
if (bRegister == true)
{
return true;
}
}
QByteArray lineseData = genLinese(m_SerialNo.toLatin1()); QByteArray lineseData = genLinese(m_SerialNo.toLatin1());
if (lineseData == strKey) if (lineseData == strKey)
@ -102,6 +111,8 @@ bool lpCheckKey::checkLinese(QString serialNo, QString linese)
{ {
QSettings settingKey("Leaper_Register"); QSettings settingKey("Leaper_Register");
settingKey.setValue("key", linese); settingKey.setValue("key", linese);
settingKey.setValue("register", true);
settingKey.setValue("serialNo", serialNo);
return true; return true;
} }
else else

Loading…
Cancel
Save