Compare commits
1 Commits
dev_Chen
...
dev_featur
Author | SHA1 | Date | |
---|---|---|---|
eb55c5b784 |
@ -12,6 +12,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="MainForm.resx~RF4efdcc4.TMP" />
|
||||
<None Remove="ManagerModelHelper.cs~RF97ff9f.TMP" />
|
||||
<None Remove="MelsecPLCTCPDriver.cs~RFacf25a.TMP" />
|
||||
</ItemGroup>
|
||||
|
1261
HisenceYoloDetection/MainForm.Designer.cs
generated
1261
HisenceYoloDetection/MainForm.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@ -22,6 +22,7 @@ using System.Net;
|
||||
using System.Numerics;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using XKRS.Device.SimboVision.SimboHelper;
|
||||
using XKRS.UI;
|
||||
@ -64,6 +65,9 @@ namespace HisenceYoloDetection
|
||||
List<XKHisence> xKHisences = new List<XKHisence>();
|
||||
|
||||
static AutoResetEvent myResetEvent = new AutoResetEvent(false);
|
||||
|
||||
AutoResetEvent _runHandleBefore = new AutoResetEvent(false);
|
||||
ManualResetEvent _runHandleAfter = new ManualResetEvent(false);
|
||||
bool PLC545 = false;
|
||||
|
||||
bool PLC548 = false;
|
||||
@ -103,7 +107,11 @@ namespace HisenceYoloDetection
|
||||
string Cam1OnePath = "";
|
||||
string Cam1TwoPath = "";
|
||||
string ModelChangePath = "";
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
string GreenLightingAdress = "";
|
||||
string YellowLightingAdress = "";
|
||||
string RedLightingAdress = "";
|
||||
string WaringAdress = "";
|
||||
/// <summary>
|
||||
/// <20>鿴<EFBFBD><E9BFB4><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||||
/// </summary>
|
||||
@ -191,8 +199,21 @@ namespace HisenceYoloDetection
|
||||
/// <param name="e"></param>
|
||||
private void MainForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
|
||||
|
||||
string s1 = "gorenjeSTEAMTECHSNOWFLAKEDRUM65kg";
|
||||
|
||||
|
||||
if (_runHandleBefore == null)
|
||||
{
|
||||
_runHandleBefore = new AutoResetEvent(false);
|
||||
}
|
||||
|
||||
if (_runHandleAfter == null)
|
||||
{
|
||||
_runHandleAfter = new ManualResetEvent(false);
|
||||
}
|
||||
|
||||
string s1 = "gorenjeSTEAMTECHSNOWFLAKEDRUM65kg";
|
||||
string s2 = "STEAMTECHSNOWFLAKEDRUM65kg";
|
||||
|
||||
bool st = ManagerModelHelper.StrMatch(s1, s2);
|
||||
@ -268,6 +289,8 @@ namespace HisenceYoloDetection
|
||||
|
||||
OnSpeedShow();//<2F>߳̿<DFB3><CCBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>ʾ<EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD>
|
||||
OnPostionShow();//<2F>߳̿<DFB3><CCBF><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ʾ<EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD>
|
||||
melsecPLCTCPDriver.WriteInt(YellowLightingAdress, 1);//<2F>Ƶ<EFBFBD>
|
||||
|
||||
//t = new System.Timers.Timer(10000);//ʵ<><CAB5><EFBFBD><EFBFBD>Timer<65>࣬<EFBFBD><E0A3AC><EFBFBD>ü<EFBFBD><C3BC><EFBFBD>ʱ<EFBFBD><CAB1>Ϊ10000<30><30><EFBFBD>룻
|
||||
//t.Elapsed += new System.Timers.ElapsedEventHandler(Execute);//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ִ<EFBFBD><D6B4><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>
|
||||
//t.AutoReset = true;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>һ<EFBFBD>Σ<EFBFBD>false<73><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һֱִ<D6B1><D6B4>(true)<29><>
|
||||
@ -983,11 +1006,12 @@ namespace HisenceYoloDetection
|
||||
}
|
||||
if (iNum1 >= 2)
|
||||
{
|
||||
|
||||
if (bBar)
|
||||
{
|
||||
_runHandleBefore.WaitOne();
|
||||
bBarTriger = true;//<2F>ij<DEB8><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD>ȡ<EFBFBD>ͺ<EFBFBD>
|
||||
Cam2.SnapshotCount = 0;
|
||||
Cam2.Snapshot();
|
||||
|
||||
|
||||
xKNow = GetModeFromBar("VWJ070633V0WW80F0120356");//<2F><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>в<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
||||
//xKNow = GetModeFromBar(m_sKEYENCEBar);//<2F><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>в<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
||||
@ -1043,8 +1067,8 @@ namespace HisenceYoloDetection
|
||||
// var resultMap = GetResultImage(resultMask, detectionResultShapes);
|
||||
}
|
||||
#endregion
|
||||
int YPos = 14957;
|
||||
int ZPos = 4382;
|
||||
int YPos = 8715;
|
||||
int ZPos = 25000;
|
||||
bool StopM = false;//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>źŵ<C5BA>
|
||||
/// <summary>
|
||||
/// <20><><EFBFBD><EFBFBD>ϴ<EFBFBD>»<EFBFBD>544<34>Ƿ<C7B7><F1B4A5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䴫<EFBFBD><E4B4AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
@ -1095,8 +1119,8 @@ namespace HisenceYoloDetection
|
||||
//if (bBarTriger)
|
||||
{
|
||||
|
||||
#if true
|
||||
if(!StopM)
|
||||
#if false
|
||||
if (!StopM)
|
||||
{
|
||||
melsecPLCTCPDriver.WriteInt("550", 1);//<2F><><EFBFBD><EFBFBD>
|
||||
StopM = true;
|
||||
@ -1105,7 +1129,7 @@ namespace HisenceYoloDetection
|
||||
|
||||
myLog("<22><>һ<EFBFBD>βɼ<CEB2>ͼ<EFBFBD><CDBC>", DateTime.Now);
|
||||
//<2F>ƶ<EFBFBD>ģ<EFBFBD><C4A3> <20><><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><CEB2><EFBFBD><EFBFBD>ĵ<EFBFBD>ַ <20><><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ǰ<EFBFBD>ƶ<EFBFBD>
|
||||
MoveToP(7948, YPos, ZPos);
|
||||
MoveToP(5815, YPos, ZPos);
|
||||
// Thread.Sleep(2000);//ɾ
|
||||
|
||||
|
||||
@ -1123,9 +1147,9 @@ namespace HisenceYoloDetection
|
||||
double disreal = average * (-0.54054) + 1324.3232;
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><D7BC><EFBFBD><EFBFBD>=Ҫ<>ƶ<EFBFBD><C6B6>ľ<EFBFBD><C4BE><EFBFBD>
|
||||
double dismove = disreal - 876;
|
||||
if (dismove > 0 && dismove < 4000)
|
||||
if (dismove > -4000 && dismove < 4000)
|
||||
{
|
||||
MoveToP(7948, YPos, ZPos + (int)(dismove));
|
||||
MoveToP(5815, YPos, ZPos + (int)(dismove));
|
||||
}
|
||||
//Thread.Sleep(2000);//ɾ
|
||||
// Thread.Sleep(500);
|
||||
@ -1135,17 +1159,17 @@ namespace HisenceYoloDetection
|
||||
Cam2.SnapshotCount = 0;
|
||||
Cam2.Snapshot();
|
||||
myLog("<22>ڶ<EFBFBD><DAB6>βɼ<CEB2>ͼ<EFBFBD><CDBC>", DateTime.Now);
|
||||
|
||||
//if (xKNow != null)
|
||||
//{
|
||||
// MoveToP(xKNow.MoveTwoX, xKNow.MoveTwoY, xKNow.MoveTwoZ);
|
||||
//}
|
||||
//currentXP = 54964;
|
||||
//Thread.Sleep(2000);//ɾ
|
||||
//MoveToP(51043, YPos, ZPos + (int)(dismove));
|
||||
//Cam1.Snapshot();
|
||||
MoveToP(7948, YPos, ZPos);
|
||||
|
||||
MoveToP(51043, YPos, ZPos + (int)(dismove));
|
||||
Cam1.Snapshot();
|
||||
MoveToP(5815, YPos, ZPos);
|
||||
melsecPLCTCPDriver.WriteInt("550", 0);//<2F><><EFBFBD><EFBFBD>
|
||||
//Thread.Sleep(300);//ϴ<>»<EFBFBD><C2BB><EFBFBD><EFBFBD>ܹ<EFBFBD><DCB9><EFBFBD>ȥ
|
||||
//Thread.Sleep(300);//ϴ<>»<EFBFBD><C2BB><EFBFBD><EFBFBD>ܹ<EFBFBD><DCB9><EFBFBD>ȥ
|
||||
|
||||
//if (xKNow != null)
|
||||
//{
|
||||
@ -1162,7 +1186,7 @@ namespace HisenceYoloDetection
|
||||
#else
|
||||
myLog("<22><>һ<EFBFBD>βɼ<CEB2>ͼ<EFBFBD><CDBC>", DateTime.Now);
|
||||
//<2F>ƶ<EFBFBD>ģ<EFBFBD><C4A3> <20><><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><CEB2><EFBFBD><EFBFBD>ĵ<EFBFBD>ַ <20><><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ǰ<EFBFBD>ƶ<EFBFBD>
|
||||
//MoveToP(7948, YPos, ZPos);
|
||||
//MoveToP(5815, YPos, ZPos);
|
||||
Thread.Sleep(1000);//ɾ
|
||||
|
||||
|
||||
@ -1182,7 +1206,7 @@ namespace HisenceYoloDetection
|
||||
//double dismove = disreal - 876;
|
||||
//if (dismove > 0 && dismove < 4000)
|
||||
//{
|
||||
// MoveToP(7948, YPos, ZPos + (int)(dismove));
|
||||
// MoveToP(5815, YPos, ZPos + (int)(dismove));
|
||||
//}
|
||||
Thread.Sleep(1000);//ɾ
|
||||
// Thread.Sleep(500);
|
||||
@ -1202,7 +1226,7 @@ namespace HisenceYoloDetection
|
||||
|
||||
//MoveToP(51043, YPos, ZPos + (int)(dismove));
|
||||
Cam1.Snapshot();
|
||||
//MoveToP(7948, YPos, ZPos);
|
||||
//MoveToP(5815, YPos, ZPos);
|
||||
//if (xKNow != null)
|
||||
//{
|
||||
// MoveToP(xKNow.MoveX, xKNow.MoveY, xKNow.MoveZ);
|
||||
@ -1277,8 +1301,8 @@ namespace HisenceYoloDetection
|
||||
{
|
||||
|
||||
|
||||
//Cam1ImgOne = Cv2.ImRead("D:\\Hisence\\<5C><><EFBFBD><EFBFBD>\\1\\001.jpg"); ;
|
||||
Cam1ImgOne = cameraMat;
|
||||
Cam1ImgOne = Cv2.ImRead("D:\\Hisence\\<5C><><EFBFBD><EFBFBD>\\1\\001.jpg"); ;
|
||||
//Cam1ImgOne = cameraMat;
|
||||
IfCam1OneTriger = true;
|
||||
originMatShow.Image = cameraMat.ToBitmap();
|
||||
//pictureBox1.Image = cameraMat.ToBitmap();
|
||||
@ -1288,13 +1312,13 @@ namespace HisenceYoloDetection
|
||||
//<2F>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if (SnapshotCount == 2)
|
||||
{
|
||||
// Mat mat = Cv2.ImRead("D:\\Hisence\\<5C><><EFBFBD><EFBFBD>\\1\\002.jpg");
|
||||
// Cam1ImgTwo = mat;
|
||||
Cam1ImgTwo = cameraMat;
|
||||
|
||||
Cam1ImgTwo = Cv2.ImRead("D:\\Hisence\\<5C><><EFBFBD><EFBFBD>\\1\\002.jpg");
|
||||
//Cam1ImgTwo = cameraMat;
|
||||
|
||||
IfCam1TwoTriger = true;
|
||||
originMatShow2.Image = cameraMat.ToBitmap();
|
||||
|
||||
_runHandleAfter.Set();
|
||||
}
|
||||
|
||||
|
||||
@ -1320,8 +1344,9 @@ namespace HisenceYoloDetection
|
||||
// Mat mat = Cv2.ImRead("F:\\<5C><><EFBFBD><EFBFBD>ϴ<EFBFBD>»<EFBFBD>\\cam1\\2024517161641.jpg");
|
||||
Cam2ImgShowBar = cameraMat;
|
||||
IfCam2Triger = true;
|
||||
originMat2Show.Image = cameraMat.ToBitmap();
|
||||
|
||||
originMat2Show.Image = cameraMat.ToBitmap();
|
||||
//_runHandleAfter.Set();
|
||||
// CamShow2.ImaMAt = cameraMat;
|
||||
cameraMat.ImWrite(fitImageFolder + dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() + dt.Hour.ToString() + dt.Minute.ToString() + dt.Millisecond.ToString() + "1.jpg");
|
||||
|
||||
@ -1329,6 +1354,7 @@ namespace HisenceYoloDetection
|
||||
public volatile int AllDsums = 0;
|
||||
public volatile int NGDsums = 0;
|
||||
public volatile int OKDsums = 0;
|
||||
public volatile int WUsums = 0;
|
||||
/// <summary>
|
||||
/// <20><>ʼʶ<CABC><CAB6>
|
||||
/// </summary>
|
||||
@ -1341,6 +1367,8 @@ namespace HisenceYoloDetection
|
||||
{
|
||||
try
|
||||
{
|
||||
//<2F>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ʹ<>䲻<EFBFBD><E4B2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>˸
|
||||
_runHandleAfter.WaitOne();
|
||||
//<2F><><EFBFBD><EFBFBD>2<EFBFBD><32>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if (IfCam2Triger)
|
||||
{
|
||||
@ -1360,7 +1388,8 @@ namespace HisenceYoloDetection
|
||||
sw.WriteLine(IOcrBAr + "\n");
|
||||
sw.Flush();
|
||||
}
|
||||
IOcrBAr = "BatchW96DHModelWF3S7021BWPl";
|
||||
// IOcrBAr = "BatchW9659ModelWNHPI74SCPSDE";
|
||||
IOcrBAr = "W821PWMS27106WD2";
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>ȶ<EFBFBD>
|
||||
xKNow = GetModeFromBar(IOcrBAr);//<2F><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>в<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
||||
List<XK_HisenceWord> xkWordList = ManagerModelHelper.GetModeWordFromBar(IOcrBAr);
|
||||
@ -1405,8 +1434,11 @@ namespace HisenceYoloDetection
|
||||
|
||||
}
|
||||
//<2F><><EFBFBD><EFBFBD>1<EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if (IfCam1TwoTriger && bBarTriger)
|
||||
// if (IfCam1TwoTriger && bBarTriger)
|
||||
{
|
||||
IfCam1TwoTriger = false;
|
||||
bBarTriger = false;
|
||||
_runHandleAfter.Reset();
|
||||
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
||||
Defet_OnDetectionDone(whiteMat, 1);
|
||||
Defet_OnDetectionDone(whiteMat, 2);
|
||||
@ -1416,7 +1448,6 @@ namespace HisenceYoloDetection
|
||||
Defet_OnDetectionDone(whiteMat, 6);
|
||||
Defet_OnDetectionDone(whiteMat, 7);
|
||||
|
||||
|
||||
XK_HisenceWord xK_MatchDet = new XK_HisenceWord();
|
||||
xK_MatchDet.TwoIFWhile = xK_HisenceSQLWord.TwoIFWhile;
|
||||
AllDsums++;
|
||||
@ -1438,25 +1469,14 @@ namespace HisenceYoloDetection
|
||||
List<string> strMatListOne = new List<string>();
|
||||
List<string> strMatFuzzyListOne = new List<string>();
|
||||
Mat mResultCut = req.currentMat.Clone();
|
||||
Mat mCut = new Mat();
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
Dictionary<string, bool> keyValueResult = new Dictionary<string, bool>();
|
||||
InsertSqlRunDataButton(ref keyValueResult, false, ref mCut, ref mResultCut, mL, mLButton, ref xK_HisenceSQLWord, ref xK_MatchDet, ref strMatListOne, ref strMatFuzzyListOne, ref paddleOcrModel);
|
||||
sw.Stop();
|
||||
myLog("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + sw.ElapsedMilliseconds, DateTime.Now);
|
||||
|
||||
if (mL.ResultMap != null)
|
||||
{
|
||||
mL.ResultMap.Save("D://cam1//" + dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() + dt.Hour.ToString() + dt.Minute.ToString() + dt.Millisecond.ToString() + "1result.jpg");
|
||||
ResultMatShow.Image = mL.ResultMap;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
Mat res_yolo = Cv2.ImRead("ng.jpg");
|
||||
|
||||
ResultMatShow.Image = res_yolo.ToBitmap();
|
||||
}//<2F><EFBFBD><DEB7><EFBFBD><F2B6A8B5><EFBFBD>ͼƬ<CDBC><C6AC>˸<EFBFBD><CBB8><EFBFBD><EFBFBD>else<73><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
MLRequest req2 = new MLRequest();
|
||||
req2.currentMat = Cam1ImgTwo;
|
||||
@ -1468,18 +1488,18 @@ namespace HisenceYoloDetection
|
||||
req2.iouThreshold = 0.4f;//<2F><><EFBFBD><EFBFBD>IOU
|
||||
req2.out_node_name = "output";
|
||||
MLResult mL2 = simboObjectDetection.RunInferenceFixed(req2);
|
||||
List<string> strMatListTwo = new List<string>();
|
||||
List<string> strMatFuzzyListTwo = new List<string>();
|
||||
Mat mResultCut2 = req2.currentMat.Clone();
|
||||
Dictionary<string, bool> keyValueResult2 = new Dictionary<string, bool>();
|
||||
InsertSqlRunData(ref keyValueResult2, false, ref mResultCut2, mL2, ref xK_HisenceSQLWord, ref xK_MatchDet, ref strMatListTwo, ref strMatFuzzyListTwo, ref paddleOcrModel);
|
||||
|
||||
if (mL2.ResultMap != null)
|
||||
{
|
||||
mL2.ResultMap.Save("D://cam1//" + dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() + dt.Hour.ToString() + dt.Minute.ToString() + dt.Millisecond.ToString() + "2result.jpg");
|
||||
ResultMatShow2.Image = mL2.ResultMap;
|
||||
}
|
||||
|
||||
List<string> strMatListTwo = new List<string>();
|
||||
List<string> strMatFuzzyListTwo = new List<string>();
|
||||
Mat mResultCut2 = req2.currentMat.Clone();
|
||||
Dictionary<string, bool> keyValueResult = new Dictionary<string, bool>();
|
||||
Dictionary<string, bool> keyValueResult2 = new Dictionary<string, bool>();
|
||||
#region <EFBFBD><EFBFBD>ִ<EFBFBD>ж<EFBFBD>λ<EFBFBD>ȶ<EFBFBD>
|
||||
//ִ<>ж<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
string[] listLabels = xKNow.Detect.Split(",");
|
||||
|
||||
@ -1507,6 +1527,25 @@ namespace HisenceYoloDetection
|
||||
HashSet<string> set1 = new HashSet<string>(listLabels);
|
||||
HashSet<string> set2 = new HashSet<string>(RealLabels);
|
||||
bool MatchStr = set1.SetEquals(set2);
|
||||
#endregion
|
||||
//<2F><><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD>ȶ<EFBFBD>
|
||||
if (MatchStr)
|
||||
{
|
||||
//Mat mCut = new Mat();
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
|
||||
InsertSqlRunDataButton(ref keyValueResult, false, ref mResultCut, mL, mLButton, ref xK_HisenceSQLWord, ref xK_MatchDet, ref strMatListOne, ref strMatFuzzyListOne, ref paddleOcrModel);
|
||||
|
||||
|
||||
InsertSqlRunData(ref keyValueResult2, false, ref mResultCut2, mL2, ref xK_HisenceSQLWord, ref xK_MatchDet, ref strMatListTwo, ref strMatFuzzyListTwo, ref paddleOcrModel);
|
||||
sw.Stop();
|
||||
myLog("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + sw.ElapsedMilliseconds, DateTime.Now);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if (MatchStr)
|
||||
{
|
||||
@ -1523,8 +1562,6 @@ namespace HisenceYoloDetection
|
||||
|
||||
|
||||
// int sqlblocksum=
|
||||
IfCam1TwoTriger = false;
|
||||
bBarTriger = false;
|
||||
|
||||
|
||||
melsecPLCTCPDriver.WriteInt("550", 0);//<2F><><EFBFBD><EFBFBD>
|
||||
@ -1543,14 +1580,39 @@ namespace HisenceYoloDetection
|
||||
}
|
||||
else
|
||||
{
|
||||
NGDsums++;
|
||||
melsecPLCTCPDriver.WriteInt(RedLightingAdress, 1);//<2F><><EFBFBD><EFBFBD>
|
||||
melsecPLCTCPDriver.WriteInt(WaringAdress, 1);//<2F><><EFBFBD><EFBFBD>
|
||||
myLog("ƥ<><C6A5>ʧ<EFBFBD><CAA7>", DateTime.Now);
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
||||
// InsertXK_HisenceWordMatchData(xK_MatchDet, false);
|
||||
this.Invoke(new Action(() =>
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ж<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>NGϴ<EFBFBD>»<EFBFBD>
|
||||
DialogResult dr = MessageBox.Show("<22>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>죿", "<22>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
|
||||
if (dr == DialogResult.OK)
|
||||
{
|
||||
OKOrNGShow.Image = NGbitmap;
|
||||
}));
|
||||
melsecPLCTCPDriver.WriteInt(RedLightingAdress, 0);//<2F><><EFBFBD><EFBFBD>
|
||||
melsecPLCTCPDriver.WriteInt(WaringAdress, 0);//<2F><><EFBFBD><EFBFBD>
|
||||
OKDsums++;
|
||||
WUsums++;
|
||||
this.Invoke(new Action(() =>
|
||||
{
|
||||
double percent = (double)WUsums/ AllDsums;
|
||||
string percentText = percent.ToString("0.0%");//<2F><><EFBFBD><EFBFBD>percentText<78><74>ֵΪ10.0%
|
||||
textBox1.Text = percentText;
|
||||
OKOrNGShow.Image = OKbitmap;
|
||||
}));
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
NGDsums++;
|
||||
melsecPLCTCPDriver.WriteInt(WaringAdress, 0);//<2F><><EFBFBD><EFBFBD>
|
||||
melsecPLCTCPDriver.WriteInt(RedLightingAdress, 0);//<2F><><EFBFBD><EFBFBD>
|
||||
|
||||
this.Invoke(new Action(() =>
|
||||
{
|
||||
OKOrNGShow.Image = NGbitmap;
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1559,7 +1621,7 @@ namespace HisenceYoloDetection
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
throw e;
|
||||
}
|
||||
finally
|
||||
{
|
||||
@ -1639,7 +1701,7 @@ namespace HisenceYoloDetection
|
||||
{
|
||||
m_sKEYENCEBar = System.Text.Encoding.UTF8.GetString(data);
|
||||
// myLog("<22>ͺ<EFBFBD>Ocr" + m_sKEYENCEBar, DateTime.Now);
|
||||
|
||||
_runHandleBefore.Set();
|
||||
bBar = true;
|
||||
}
|
||||
|
||||
@ -1838,6 +1900,7 @@ namespace HisenceYoloDetection
|
||||
|
||||
*/
|
||||
//OnGetBar();
|
||||
melsecPLCTCPDriver.WriteInt(GreenLightingAdress, 1);//<2F>Ƶ<EFBFBD>
|
||||
TriggerCameral2();
|
||||
ReadyDetect();
|
||||
myLog("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̳ɹ<CCB3>", DateTime.Now);
|
||||
@ -2235,9 +2298,9 @@ namespace HisenceYoloDetection
|
||||
List<string> strMatListOne = new List<string>();
|
||||
List<string> strMatFuzzyListOne = new List<string>();
|
||||
Mat mResultCut = CamOneI.currentMat.Clone();
|
||||
Mat mCut = new Mat();
|
||||
//Mat mCut = new Mat();
|
||||
Dictionary<string, bool> keyValueResult = new Dictionary<string, bool>();
|
||||
InsertSqlRunDataButton(ref keyValueResult, true, ref mCut, ref mResultCut, mL3, mLButton, ref xK_HisenceSQLWord, ref xkWord, ref strMatListOne, ref strMatFuzzyListOne, ref paddleOcrModel);
|
||||
InsertSqlRunDataButton(ref keyValueResult, true, ref mResultCut, mL3, mLButton, ref xK_HisenceSQLWord, ref xkWord, ref strMatListOne, ref strMatFuzzyListOne, ref paddleOcrModel);
|
||||
|
||||
|
||||
|
||||
@ -2641,37 +2704,37 @@ namespace HisenceYoloDetection
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
DefetShow1.ImaMAt = detectionImage;
|
||||
canvas1.ImaMAt = detectionImage;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
DefetShow2.ImaMAt = detectionImage;
|
||||
canvas2.ImaMAt = detectionImage;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
DefetShow3.ImaMAt = detectionImage;
|
||||
canvas3.ImaMAt = detectionImage;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
{
|
||||
DefetShow4.ImaMAt = detectionImage;
|
||||
canvas4.ImaMAt = detectionImage;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
{
|
||||
DefetShow5.ImaMAt = detectionImage;
|
||||
canvas5.ImaMAt = detectionImage;
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
{
|
||||
DefetShow6.ImaMAt = detectionImage;
|
||||
canvas6.ImaMAt = detectionImage;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
{
|
||||
DefetShow7.ImaMAt = detectionImage;
|
||||
// canvas7.ImaMAt = detectionImage;
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
@ -2701,7 +2764,7 @@ namespace HisenceYoloDetection
|
||||
/// <param name="strMatList"><3E><><EFBFBD>صĶ<D8B5>λ<EFBFBD><CEBB><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD></param>
|
||||
/// <param name="strMatRefList"></param>
|
||||
/// <param name="IOcrModel"></param>
|
||||
public void InsertSqlRunDataButton(ref Dictionary<string, bool> keyValueResult, bool saveimage, ref Mat CutMat, ref Mat currentMatC, MLResult cam1TwoML, MLResult cam1Button, ref XK_HisenceWord SQlxK_HisenceWord, ref XK_HisenceWord xK_HisenceWord, ref List<string> strMatList, ref List<string> strMatRefList, ref PaddleOcrModel IOcrModel)
|
||||
public void InsertSqlRunDataButton(ref Dictionary<string, bool> keyValueResult, bool saveimage, ref Mat currentMatC, MLResult cam1TwoML, MLResult cam1Button, ref XK_HisenceWord SQlxK_HisenceWord, ref XK_HisenceWord xK_HisenceWord, ref List<string> strMatList, ref List<string> strMatRefList, ref PaddleOcrModel IOcrModel)
|
||||
{
|
||||
#if true
|
||||
//try
|
||||
@ -3081,22 +3144,22 @@ namespace HisenceYoloDetection
|
||||
|
||||
Rect rect = new Rect(0, 0, 0, 0);
|
||||
string PathSql = SQlxK_HisenceWord.SixblockPath;
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һֱΪtrue
|
||||
juanjiMatch = CheckDiffSciHelper.CheckDiffSci(PathSql, CutBlockMat, rect, rect, false, "D://Hisence//Test");
|
||||
juanjiMatch = true;
|
||||
if (!OneIF1 || !juanjiMatch)
|
||||
if (!OneIF)
|
||||
{
|
||||
OneIF = false;
|
||||
// DisplayResult(mLcut);
|
||||
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>İ<EFBFBD>
|
||||
// mLcut.ResultMap;
|
||||
Defet_OnDetectionDone(mLcut.ResultMap.ToMat(), 6);
|
||||
}
|
||||
else
|
||||
{
|
||||
OneIF = true;
|
||||
Defet_OnDetectionDone(OKMat, 6);
|
||||
}
|
||||
{
|
||||
OneIF = false;
|
||||
// DisplayResult(mLcut);
|
||||
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>İ<EFBFBD>
|
||||
// mLcut.ResultMap;
|
||||
Defet_OnDetectionDone(mLcut.ResultMap.ToMat(), 6);
|
||||
}
|
||||
else
|
||||
{
|
||||
OneIF = true;
|
||||
Defet_OnDetectionDone(OKMat, 6);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -3228,5 +3291,10 @@ namespace HisenceYoloDetection
|
||||
{
|
||||
melsecPLCTCPDriver.WriteInt("550", 0);
|
||||
}
|
||||
|
||||
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
melsecPLCTCPDriver.WriteInt("550", 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ using static OpenCvSharp.FileStorage;
|
||||
|
||||
|
||||
|
||||
public class MelsecPLCTCPDriver
|
||||
public class MelsecPLCTCPDriver1
|
||||
{
|
||||
private MelsecMcNet melsecMc = new MelsecMcNet();
|
||||
// private HslCommunication.ModBus.ModbusTcpNet melsecMc = new HslCommunication.ModBus.ModbusTcpNet();
|
||||
|
@ -12,7 +12,7 @@ using static OpenCvSharp.FileStorage;
|
||||
|
||||
|
||||
|
||||
public class MelsecPLCTCPDriver1
|
||||
public class MelsecPLCTCPDriver
|
||||
{
|
||||
// private MelsecMcNet melsecMc = new MelsecMcNet();
|
||||
// private HslCommunication.ModBus.ModbusTcpNet melsecMc = new HslCommunication.ModBus.ModbusTcpNet();
|
||||
|
@ -399,6 +399,7 @@ namespace XKRS.UI
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 画矩形
|
||||
GPathList.ForEach(path =>
|
||||
{
|
||||
|
Reference in New Issue
Block a user