| | |
| | | private void btnAnalyze_Click(object sender, EventArgs e) |
| | | { |
| | | |
| | | var fileinfos11 = directoryInfo1.GetFiles(); |
| | | var fileinfos22 = directoryInfo2.GetFiles(); |
| | | var fileinfos11 = directoryInfo1.GetFiles().ToList().FindAll(a => a.Extension == ".csv"); |
| | | |
| | | |
| | | ; |
| | | List<FileInfo> fileInfo1 = new List<FileInfo>(); |
| | | List<FileInfo> fileInfo2 = new List<FileInfo>(); |
| | | for (int i = 0; i < fileinfos11.Length; i++) |
| | | for (int i = 0; i < fileinfos11.Count; i++) |
| | | { |
| | | if (fileinfos11[i].Name.Contains("1_1") || fileinfos11[i].Name.Contains("2_1") || fileinfos11[i].Name.Contains("3_1") || fileinfos11[i].Name.Contains("4_1") ) |
| | | { |
| | |
| | | dataListSum22.Sort(); |
| | | #endregion |
| | | |
| | | //如果需要合并表格就执行 |
| | | |
| | | for (int i = 0; i < fileinfos22.Length; i++) |
| | | if (directoryInfo2 != null) |
| | | { |
| | | var fileinfos22 = directoryInfo2.GetFiles().ToList().FindAll(a=>a.Extension==".csv"); |
| | | |
| | | for (int i = 0; i < fileinfos22.Count; i++) |
| | | { |
| | | var allLines = File.ReadAllLines(fileinfos22[i].FullName, Encoding.Default); |
| | | var list = GetData(allLines, GetDefactType(fileinfos22[i])).FindAll(a=>!a.Result); /*CompareFile(fileInfo1[i], fileInfo2[i],dataListSum22)*/ |
| | | for (int ii = 0; ii < list.Count; ii++) |
| | | { |
| | | if (list[ii].Width > list[ii].Height) |
| | | { |
| | | list[ii].ex = list[ii].Width * 0.0043; |
| | | } |
| | | else |
| | | { |
| | | list[ii].ex = list[ii].Height * 0.0043; |
| | | } |
| | | |
| | | } |
| | | GetMaxSize(list); |
| | | if (fileinfos22[i].Name.Contains("划伤")) |
| | | { |
| | | ScratchI++; |
| | |
| | | ZoomI++; |
| | | list.ForEach(a => a.Lensnumber = ZoomI); |
| | | listSum.AddRange(list); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | directoryInfo2 = null; |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | //不需要合并表格 |
| | | //else if(fileInfo1.Count>0&& fileInfo2.Count==0) |
| | | //{ |
| | | // for (int i = 0; i < fileInfo1.Count; i++) |
| | | // { |
| | | // var allLines = File.ReadAllLines(fileInfo1[i].FullName, Encoding.Default); |
| | | // var list = GetData(allLines,GetDefactType(fileInfo1[i])); /*CompareFile(fileInfo1[i], fileInfo2[i],dataListSum22)*/ |
| | | |
| | | // } |
| | | //} |
| | | |
| | | |
| | | |
| | | #region//将设备判断结果输出到CSV报表中 |
| | | var title12 = $"时间戳,相机序号,设备判断结果,缺陷类型,设备后处理结果,最大尺寸,位置,X,Y,R,角度"; |
| | | var file12 = $"{directoryInfo1.Parent.FullName}\\{filenameDir + "设备判断结果"}.csv"; |
| | |
| | | var list1 = dataList1.FindAll(a => a.TimeTip == item && !a.Result); |
| | | var list2 = dataList2.FindAll(a => a.TimeTip == item && !a.Result); |
| | | var itemToRemove = 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.0043; |
| | | } |
| | | else |
| | | { |
| | | list2[ii].ex = list2[ii].Height * 0.0043; |
| | | } |
| | | |
| | | } |
| | | #endregion |
| | | //计算表格1最大尺寸 |
| | | GetMaxSize(list1); |
| | | //计算表格2最大尺寸 |
| | | GetMaxSize(list2); |
| | | for (int i = 0; i < list1.Count; i++) |
| | | { |
| | | #region//计算表格1最大尺寸 |
| | | if (list1[i].Width > list1[i].Height) |
| | | { |
| | | list1[i].ex = list1[i].Width * 0.0043; |
| | | } |
| | | else |
| | | { |
| | | list1[i].ex = list1[i].Height * 0.0043; |
| | | } |
| | | |
| | | #endregion |
| | | for (int j = 0; j < list2.Count; j++) |
| | | { |
| | | if (list1[i].JudgmentResult != list2[j].JudgmentResult) |
| | |
| | | |
| | | } |
| | | } |
| | | else if (Lens[0].DefectType == "划伤") |
| | | else if (Lens[0].DefectType == "划伤"|| Lens[0].DefectType == "脏污") |
| | | { |
| | | var content11 = $"{item},{LensNumb},{Lens[0].JudgmentResult},{Lens[0].DefectType}"; |
| | | File.AppendAllText(file12, content11, Encoding.UTF8); |
| | | File.AppendAllText(file12, "\r\n"); |
| | | for (int i = 0; i < Lens.Count; i++) |
| | | { |
| | | if (Lens[i].DefectType == "划伤") |
| | | if (Lens[i].DefectType == "划伤"|| Lens[i].DefectType == "脏污") |
| | | { |
| | | var content111 = $"{""},{""},{""},{""},{""},{Lens[i].ex},{Lens[i].location},{Lens[i].X},{Lens[i].Y},{(int)(Lens[i].R)},{(int)(Lens[i].angle)}"; |
| | | File.AppendAllText(file12, content111, Encoding.UTF8); |
| | |
| | | { |
| | | return Math.Atan2((y1 - size), (x1 - size)) * (180 / Math.PI); |
| | | } |
| | | //计算最大尺寸 |
| | | private List<ResultData> GetMaxSize(List<ResultData> list) |
| | | { |
| | | for (int i = 0; i < list.Count; i++) |
| | | { |
| | | if (list[i].Width > list[i].Height) |
| | | { |
| | | list[i].ex = list[i].Width * 0.0043; |
| | | } |
| | | else |
| | | { |
| | | list[i].ex = list[i].Height * 0.0043; |
| | | } |
| | | |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | |
| | | //获取文件名称并确定缺陷类型 |
| | |
| | | var nametemp = allLines[1].Split(',')[0]; |
| | | var resulttemp = allLines[1].Split(',')[1]; |
| | | string Ptr = ""; |
| | | string deTy = ""; |
| | | for (int i = 1; i < allLines.Length; i++) |
| | | { |
| | | |
| | |
| | | if (defectType == "白点") |
| | | { |
| | | data[10] = Ptr; |
| | | deTy = "白点"; |
| | | } |
| | | |
| | | |
| | |
| | | if (defectType == "刮白") |
| | | { |
| | | Ptr = "刮白"; |
| | | deTy = "刮白"; |
| | | } |
| | | |
| | | else if (defectType == "划伤") |
| | | { |
| | | Ptr = "划伤"; |
| | | Ptr = ""; |
| | | if (data[3]!="OK") |
| | | { |
| | | deTy = data[3]; |
| | | } |
| | | else |
| | | { |
| | | deTy = ""; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | else if (defectType == "白点") |
| | | { |
| | | Ptr = data[10]; |
| | | deTy = "白点"; |
| | | } |
| | | |
| | | if (defectType== "镀膜破损") |
| | |
| | | Width = Convert.ToDouble(data[7]), |
| | | X = Convert.ToDouble(data[8].Replace("#", "").Replace("-", "")), |
| | | Y = Convert.ToDouble(data[9].Replace("#", "").Replace("-", "")), |
| | | DefectType = defectType, |
| | | DefectType = deTy, |
| | | PostTreatmentResults = Ptr, |
| | | |
| | | }); ; ; |
| | | |
| | | nametemp = data[0]; |
| | | resulttemp = data[1]; |
| | | |
| | | //Ptr = data[10]; |
| | | |
| | | } |