From fb767a5a12f0183e54488949ee46be3fcde5f47f Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-1VKMM8S>
Date: 星期四, 18 三月 2021 11:08:45 +0800
Subject: [PATCH] 1.方法中使用OUT,删除设备判断方法。
---
P066.Data/Form1.cs | 418 +++++++++++++++++------------------------------------------
1 files changed, 123 insertions(+), 295 deletions(-)
diff --git a/P066.Data/Form1.cs b/P066.Data/Form1.cs
index d0416d3..b6ce01a 100644
--- a/P066.Data/Form1.cs
+++ b/P066.Data/Form1.cs
@@ -68,7 +68,7 @@
}
-
+ List<ResultData> DataListMerge = new List<ResultData>();
var listSum = new List<ResultData>();
var JudgeListSum = new List<ResultData>();
string filename = "";
@@ -97,24 +97,20 @@
for (int i = 0; i < fileInfo1.Count; i++)
{
- var list = CompareFile(fileInfo1[i], fileInfo2[i],dataListSum22);
- var judgeList = JudgeCompareFile(fileInfo1[i], fileInfo2[i],dataListSum22);
+ CompareFile(fileInfo1[i], fileInfo2[i], dataListSum22, out DataListMerge);
+ var list = DataListMerge; /*CompareFile(fileInfo1[i], fileInfo2[i],dataListSum22)*/
if (fileInfo1[i].Name.Contains("鐧界偣"))
{
WhiteI++;
list.ForEach(a => a.Lensnumber = WhiteI);
listSum.AddRange(list);
- judgeList.ForEach(a => a.Lensnumber = WhiteI);
- JudgeListSum.AddRange(judgeList);
}
if (fileInfo1[i].Name.Contains("鍒櫧"))
{
WhiteningI++;
list.ForEach(a => a.Lensnumber = WhiteningI);
listSum.AddRange(list);
- judgeList.ForEach(a => a.Lensnumber = WhiteningI);
- JudgeListSum.AddRange(judgeList);
}
@@ -125,7 +121,6 @@
ChuNum++;
filenameDir = "鍒濇涓鐧界偣";
filename = "鍒濇涓鐧界偣" + ChuNum;
- judgeList = GetMidLocation(judgeList);
//缁欓暅澶村尯鍒嗕綅缃強瑙掑害
list = GetMidLocation(list);
}
@@ -134,7 +129,6 @@
FuNum=FuNum+1;
filenameDir = "澶嶆涓鐧界偣";
filename = "澶嶆涓鐧界偣" + FuNum;
- judgeList = GetMidLocation(judgeList);
//缁欓暅澶村尯鍒嗕綅缃強瑙掑害
list = GetMidLocation(list);
}
@@ -143,16 +137,14 @@
GuaNum=GuaNum+1;
filenameDir = "澶嶆涓鍒櫧";
filename = "澶嶆涓鍒櫧" + GuaNum;
- judgeList = GetWhiteLocation(judgeList);
//缁欓暅澶村尯鍒嗕綅缃強瑙掑害
- list = GetBkLocation(list);
+ list = GetWhiteLocation(list);
}
else if (fileInfo1[i].Name.Contains("鍒濇鑳屾澘"))
{
ChuNum++;
filenameDir = "鍒濇鑳屾澘鐧界偣";
filename = "鍒濇鑳屾澘鐧界偣" + ChuNum;
- judgeList = GetBkLocation(judgeList);
//缁欓暅澶村尯鍒嗕綅缃強瑙掑害
list = GetBkLocation(list);
}
@@ -161,7 +153,6 @@
FuNum = FuNum + 1;
filenameDir = "澶嶆鑳屾澘鐧界偣";
filename = "澶嶆鑳屾澘鐧界偣" + FuNum;
- judgeList = GetBkLocation(judgeList);
//缁欓暅澶村尯鍒嗕綅缃強瑙掑害
list = GetBkLocation(list);
}
@@ -181,22 +172,6 @@
File.AppendAllText(file1, title1, Encoding.UTF8);
File.AppendAllText(file1, "\r\n");
- #region//璁$畻鎬绘暟
-
- //var group1 = list.GroupBy(a => a.TimeTip);
-
- //var title2 = $"鏃堕棿鎴�,鎬绘暟";
- //var file2 = $"{directoryInfo1.Parent.FullName}\\{ "鎬绘暟" +( i+1)}.csv";
- //File.AppendAllText(file2, title2, Encoding.UTF8);
- //File.AppendAllText(file2, "\r\n");
- //foreach (var item in group1)
- //{
- // var content = $"{item.Key},{item.ToList().Count}";
-
- // File.AppendAllText(file2, content, Encoding.UTF8);
- // File.AppendAllText(file2, "\r\n");
- //}
- #endregion
foreach (var item in dataListSum22)
{
@@ -223,13 +198,13 @@
File.AppendAllText(file12, "\r\n");
foreach (var item in dataListSum22)
{
- var Lens1 = JudgeListSum.FindAll(a => a.TimeTip == item&&a.Lensnumber==1);
+ var Lens1 = listSum.FindAll(a => a.TimeTip == item&&a.Lensnumber==1);
WriteJR(Lens1,item,1,file12);
- var Lens2 = JudgeListSum.FindAll(a => a.TimeTip == item && a.Lensnumber == 2);
+ var Lens2 = listSum.FindAll(a => a.TimeTip == item && a.Lensnumber == 2);
WriteJR(Lens2,"",2,file12);
- var Lens3 = JudgeListSum.FindAll(a => a.TimeTip == item && a.Lensnumber == 3);
+ var Lens3 = listSum.FindAll(a => a.TimeTip == item && a.Lensnumber == 3);
WriteJR(Lens3,"",3,file12);
- var Lens4 = JudgeListSum.FindAll(a => a.TimeTip == item && a.Lensnumber == 4);
+ var Lens4 = listSum.FindAll(a => a.TimeTip == item && a.Lensnumber == 4);
WriteJR(Lens4,"",4,file12);
}
@@ -276,8 +251,7 @@
}
-
- private List<ResultData> CompareFile(FileInfo fileInfo1, FileInfo fileInfo2,List<string> DataTipsor)
+ private void CompareFile(FileInfo fileInfo1, FileInfo fileInfo2,List<string> DataTipsor,out List<ResultData> DataListMerger)
{
var allLines1 = File.ReadAllLines(fileInfo1.FullName, Encoding.Default);
var allLines2 = File.ReadAllLines(fileInfo2.FullName, Encoding.Default);
@@ -291,12 +265,7 @@
{
dataList2 = GetData(allLines2);
}
-
-
-
var dataList = new List<ResultData>();
- var dataList11 = new List<ResultData>();
- var dataList22 = new List<ResultData>();
foreach (var item in DataTipsor)
{
var list1 = dataList1.FindAll(a => a.TimeTip == item && !a.Result);
@@ -307,14 +276,13 @@
{
if (list2[ii].Width > list2[ii].Height)
{
- list2[ii].ex = list2[ii].Width * 0.0042;
+ list2[ii].ex = list2[ii].Width * 0.0043;
}
else
{
- list2[ii].ex = list2[ii].Height * 0.0042;
+ list2[ii].ex = list2[ii].Height * 0.0043;
}
- //var distance = GetDistance(1050, 1050, list2[ii].X, list2[ii].Y);
- //list2[ii].R = distance;
+
}
#endregion
for (int i = 0; i < list1.Count; i++)
@@ -322,14 +290,12 @@
#region//璁$畻琛ㄦ牸1鏈�澶у昂瀵�
if (list1[i].Width > list1[i].Height)
{
- list1[i].ex = list1[i].Width * 0.0042;
+ list1[i].ex = list1[i].Width * 0.0043;
}
else
{
- list1[i].ex = list1[i].Height * 0.0042;
+ list1[i].ex = list1[i].Height * 0.0043;
}
- //var distance1 = GetDistance(1050, 1050, list1[i].X, list1[i].Y);
- //list1[i].R = distance1;
#endregion
for (int j = 0; j < list2.Count; j++)
@@ -376,255 +342,11 @@
}
}
-
- //dataList.AddRange(dataList1);
- //dataList.AddRange(dataList2);
- return dataList;
- }
- //缁熻璁惧鍒ゆ柇缁撴灉
- private List<ResultData> JudgeCompareFile(FileInfo fileInfo1, FileInfo fileInfo2,List<string> DataTipsor)
- {
-
-
- var allLines1 = File.ReadAllLines(fileInfo1.FullName, Encoding.Default);
- var allLines2 = File.ReadAllLines(fileInfo2.FullName, Encoding.Default);
- List<ResultData> dataList1 = new List<ResultData>();
- List<ResultData> dataList2 = new List<ResultData>();
- if (allLines1.Length > 1)
- {
- dataList1 = GetData(allLines1);
- }
- if (allLines2.Length > 1)
- {
- dataList2 = GetData(allLines2);
- }
-
-
-
- var dataList = new List<ResultData>();
- var dataList11 = new List<ResultData>();
- var dataList22 = new List<ResultData>();
- foreach (var item in DataTipsor)
- {
- var list1 = dataList1.FindAll(a => a.TimeTip == item && !a.Result);
- var list2 = dataList2.FindAll(a => a.TimeTip == item && !a.Result);
- var itemToRemove1 = new List<ResultData>();
- var itemToRemove2 = new List<ResultData>();
- #region//璁$畻琛ㄦ牸2鏈�澶у昂瀵�
- for (int ii = 0; ii < list2.Count; ii++)
- {
- if (list2[ii].Width > list2[ii].Height)
- {
- list2[ii].ex = list2[ii].Width * 0.0042;
- }
- else
- {
- list2[ii].ex = list2[ii].Height * 0.0042;
- }
- //var distance = GetDistance(1050, 1050, list2[ii].X, list2[ii].Y);
- //list2[ii].R = distance;
- }
- #endregion
- for (int i = 0; i < list1.Count; i++)
- {
- #region//璁$畻琛ㄦ牸1鏈�澶у昂瀵�
- if (list1[i].Width > list1[i].Height)
- {
- list1[i].ex = list1[i].Width * 0.0042;
- }
- else
- {
- list1[i].ex = list1[i].Height * 0.0042;
- }
- //var distance1 = GetDistance(1050, 1050, list1[i].X, list1[i].Y);
- //list1[i].R = distance1;
-
- #endregion
- for (int j = 0; j < list2.Count; j++)
- {
- if (list1[i].JudgmentResult != list2[j].JudgmentResult)
- {
- list1[i].JudgmentResult = "NG";
- list2[j].JudgmentResult = "NG";
-
- }
- if (list1[i].PostTreatmentResults.Length < list2[j].PostTreatmentResults.Length)
- {
- list1[i].PostTreatmentResults = list2[j].PostTreatmentResults;
- }
- else
- {
- list2[j].PostTreatmentResults = list1[i].PostTreatmentResults;
- }
-
-
- var distance = GetDistance(list1[i].X, list1[i].Y, list2[j].X, list2[j].Y);
- if (distance < 20)
- {
-
-
- if (list1[i].ex > list2[j].ex)
- {
- itemToRemove2.Add(list2[j]);
- }
- else
- {
- itemToRemove1.Add(list1[i]);
- }
- //if (list1[i].JudgmentResult!=list2[j].JudgmentResult)
- //{
- // list1[i].JudgmentResult = "NG";
- // list2[j].JudgmentResult = "NG";
- //}
- //if (list1[i].PostTreatmentResults == "")
- //{
- // list1[i].PostTreatmentResults = list2[j].PostTreatmentResults;
- //}
- //else
- //{
- // list2[j].PostTreatmentResults = list1[i].PostTreatmentResults;
- //}
-
- }
- }
- }
-
- for (int i = 0; i < itemToRemove2.Count; i++)
- {
- list2.Remove(itemToRemove2[i]);
- }
- for (int i = 0; i < itemToRemove1.Count; i++)
- {
- list1.Remove(itemToRemove1[i]);
- }
- dataList11.AddRange(list1);
- dataList22.AddRange(list2);
- }
-
- //var itemToRemove = new List<ResultData>();
- foreach (var item in DataTipsor)
- {
-
- var list1 = dataList11.FindAll(a => a.TimeTip == item/* && a.JudgmentResult == "NG"*/ ); //涓嶇OK銆丯G閮借杈撳嚭
- var list2 = dataList22.FindAll(a => a.TimeTip == item /*&& a.JudgmentResult == "NG"*/); //涓嶇OK銆丯G閮借杈撳嚭
-
- dataList.AddRange(list1);
- dataList.AddRange(list2);
- }
-
- return dataList;
+ DataListMerger=dataList;
}
+
- private List<ResultData> GetData(string[] allLines)
- {
- var dataList = new List<ResultData>();
- var nametemp = allLines[1].Split(',')[0];
- var resulttemp = allLines[1].Split(',')[1];
- string Ptr = "";
- string defectType = "";
- for (int i = 1; i < allLines.Length; i++)
- {
-
- var data = allLines[i].Split(',');
-
-
- if (data[0] == "")
- {
- data[0] = nametemp;
- data[1] = resulttemp;
- if (data[3] != "鍒櫧")
- {
- data[10] = Ptr;
- }
-
- }
- if (data[3]== "鍒櫧")
- {
- defectType = "鍒櫧";
- Ptr = "鍒櫧";
- }
- else
- {
- defectType = "鐧界偣";
- Ptr = data[10];
- }
-
- if (data[6] == "-")
- {
-
- dataList.Add(new ResultData()
- {
- TimeTip = data[0].Split('-')[0],
- ImageFileName = data[0],
- JudgmentResult = data[1],
- Result = data[3] == "OK",
- DefectType = defectType,
-
- }); ; ;
-
- continue;
-
- }
- var data6 = data[6].Split('#').ToList();
- data6.Remove("");
- var temp6 = Convert.ToInt32(data6[0]);
- for (int a6 = 0; a6 < data6.Count; a6++)
- {
- if (Convert.ToInt32(data6[a6]) > temp6)
- {
- temp6 = Convert.ToInt32(data6[a6]);
- }
- }
- data[6] = Convert.ToString(temp6);
-
- var data7 = data[7].Split('#').ToList();
- data7.Remove("");
- var temp7 = Convert.ToInt32(data7[0]);
- for (int a7 = 0; a7 < data7.Count; a7++)
- {
- if (Convert.ToInt32(data7[a7]) > temp7)
- {
- temp7 = Convert.ToInt32(data7[a7]);
- }
- }
- data[7] = Convert.ToString(temp7);
- //if (data[3]=="NG")
- //{
- // Ptr = data[10];
- //}
- //else
- //{
- // Ptr = "";
- //}
-
- dataList.Add(new ResultData()
- {
- TimeTip = data[0].Split('-')[0],
- ImageFileName = data[0],
- JudgmentResult = data[1],
- Result = data[3] == "OK",
- Probability = Convert.ToDouble(data[4]),
- Uncertainty = Convert.ToDouble(data[5]),
- //Height = Convert.ToDouble(data[6].Replace("#", "").Replace("-", "")),
- //Width = Convert.ToDouble(data[7].Replace("#", "").Replace("-", "")),
- Height = Convert.ToDouble(data[6]),
- Width = Convert.ToDouble(data[7]),
- X = Convert.ToDouble(data[8].Replace("#", "").Replace("-", "")),
- Y = Convert.ToDouble(data[9].Replace("#", "").Replace("-", "")),
- DefectType = defectType,
- PostTreatmentResults = Ptr,
-
- }) ; ; ;
-
- nametemp = data[0];
- resulttemp= data[1];
- //Ptr = data[10];
-
- }
-
- return dataList;
- }
//鑾峰彇涓瑙掑害鍜屼綅缃�
private List<ResultData> GetMidLocation(List<ResultData> list)
@@ -968,6 +690,7 @@
return list;
}
+ //鍐欏叆璁惧鍒ゆ柇缁撴灉鎶ヨ〃
private void WriteJR(List<ResultData> Lens,string item,int LensNumb, string file12)
{
if (Lens.Count == 0)
@@ -1018,16 +741,121 @@
}
-
+ //璁$畻涓ょ偣涔嬮棿璺濈
private double GetDistance(double x1, double y1, double x2, double y2)
{
return Math.Sqrt(Math.Pow((x2 - x1), 2) + Math.Pow((y2 - y1), 2));
}
+ //璁$畻瑙掑害
private double GetAngle(double x1, double y1,double size)
{
return Math.Atan2((y1 - size), (x1 - size)) * (180 / Math.PI);
}
+ private List<ResultData> GetData(string[] allLines)
+ {
+ var dataList = new List<ResultData>();
+ var nametemp = allLines[1].Split(',')[0];
+ var resulttemp = allLines[1].Split(',')[1];
+ string Ptr = "";
+ string defectType = "";
+ for (int i = 1; i < allLines.Length; i++)
+ {
+
+ var data = allLines[i].Split(',');
+
+
+ if (data[0] == "")
+ {
+ data[0] = nametemp;
+ data[1] = resulttemp;
+ if (data[3] != "鍒櫧")
+ {
+ data[10] = Ptr;
+ }
+
+ }
+ if (data[3] == "鍒櫧")
+ {
+ defectType = "鍒櫧";
+ Ptr = "鍒櫧";
+ }
+ else
+ {
+ defectType = "鐧界偣";
+ Ptr = data[10];
+ }
+
+ if (data[6] == "-")
+ {
+
+ dataList.Add(new ResultData()
+ {
+ TimeTip = data[0].Split('-')[0],
+ ImageFileName = data[0],
+ JudgmentResult = data[1],
+ Result = data[3] == "OK",
+ DefectType = defectType,
+
+ }); ; ;
+
+ continue;
+
+ }
+ var data6 = data[6].Split('#').ToList();
+ data6.Remove("");
+ var temp6 = Convert.ToInt32(data6[0]);
+ for (int a6 = 0; a6 < data6.Count; a6++)
+ {
+ if (Convert.ToInt32(data6[a6]) > temp6)
+ {
+ temp6 = Convert.ToInt32(data6[a6]);
+ }
+ }
+ data[6] = Convert.ToString(temp6);
+
+ var data7 = data[7].Split('#').ToList();
+ data7.Remove("");
+ var temp7 = Convert.ToInt32(data7[0]);
+ for (int a7 = 0; a7 < data7.Count; a7++)
+ {
+ if (Convert.ToInt32(data7[a7]) > temp7)
+ {
+ temp7 = Convert.ToInt32(data7[a7]);
+ }
+ }
+ data[7] = Convert.ToString(temp7);
+
+
+ dataList.Add(new ResultData()
+ {
+ TimeTip = data[0].Split('-')[0],
+ ImageFileName = data[0],
+ JudgmentResult = data[1],
+ Result = data[3] == "OK",
+ Probability = Convert.ToDouble(data[4]),
+ Uncertainty = Convert.ToDouble(data[5]),
+ //Height = Convert.ToDouble(data[6].Replace("#", "").Replace("-", "")),
+ //Width = Convert.ToDouble(data[7].Replace("#", "").Replace("-", "")),
+ Height = Convert.ToDouble(data[6]),
+ Width = Convert.ToDouble(data[7]),
+ X = Convert.ToDouble(data[8].Replace("#", "").Replace("-", "")),
+ Y = Convert.ToDouble(data[9].Replace("#", "").Replace("-", "")),
+ DefectType = defectType,
+ PostTreatmentResults = Ptr,
+
+ }); ; ;
+
+ nametemp = data[0];
+ resulttemp = data[1];
+ //Ptr = data[10];
+
+ }
+
+ return dataList;
+ }
+
+
}
public class ResultData
--
Gitblit v1.8.0