添加 MX-PD-盘古 项目文件

将 MX-PD-盘古 - new 目录下的所有文件添加到主仓库
This commit is contained in:
Shi.Ji
2026-05-18 11:43:09 +08:00
parent 03632a379d
commit e31d3560bb
739 changed files with 99783 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SemiPoint = SemiconductorVisionAlgorithm.SemiParams.Point;
namespace MainShell.AlgorithmCalib.Service
{
public static class CalibFileService
{
public static void SaveCalibPointsFile(string path, List<SemiPoint> real, List<SemiPoint> ruler)
{
using (var sw = new StreamWriter(path))
{
sw.WriteLine("# realX, realY, rulerX, rulerY");
int count = Math.Max(real.Count, ruler.Count);
for (int i = 0; i < count; i++)
{
var r = i < real.Count ? real[i] : new SemiPoint(0, 0);
var u = i < ruler.Count ? ruler[i] : new SemiPoint(0, 0);
sw.WriteLine($"{r.X},{r.Y},{u.X},{u.Y}");
}
}
}
public static void ReadCalibPointsFile(string path, out List<SemiPoint> real, out List<SemiPoint> ruler)
{
real = new List<SemiPoint>();
ruler = new List<SemiPoint>();
if (!File.Exists(path))
return;
foreach (var line in File.ReadLines(path))
{
var l = line.Trim();
if (string.IsNullOrEmpty(l)) continue;
if (l.StartsWith("#")) continue;
var sp = l.Split(',');
if (sp.Length < 4) continue;
real.Add(new SemiPoint(
double.Parse(sp[0]),
double.Parse(sp[1])
));
ruler.Add(new SemiPoint(
double.Parse(sp[2]),
double.Parse(sp[3])
));
}
}
}
}