diff --git a/BetterGenshinImpact/Core/Recognition/OpenCv/FeatureMatch/FeatureStorage.cs b/BetterGenshinImpact/Core/Recognition/OpenCv/FeatureMatch/FeatureStorage.cs index 7c733a2d..ba687a1b 100644 --- a/BetterGenshinImpact/Core/Recognition/OpenCv/FeatureMatch/FeatureStorage.cs +++ b/BetterGenshinImpact/Core/Recognition/OpenCv/FeatureMatch/FeatureStorage.cs @@ -8,7 +8,6 @@ namespace BetterGenshinImpact.Core.Recognition.OpenCv.FeatureMatch; public class FeatureStorage(string name) { private readonly string rootPath = Global.Absolute(@"Assets\Map\"); - public void SetType(Feature2DType type) { TypeName = type.ToString(); @@ -16,24 +15,6 @@ public class FeatureStorage(string name) public string TypeName { get; set; } = "UNKNOWN"; - // public KeyPoint[]? LoadKeyPointArray1() - // { - // CreateFolder(); - // string kpPath = Path.Combine(rootPath, $"{name}_{TypeName}.kp"); - // if (File.Exists(kpPath)) - // { - // return ObjectUtils.Deserialize(File.ReadAllBytes(kpPath)) as KeyPoint[]; - // } - // return null; - // } - // - // public void SaveKeyPointArray1(KeyPoint[] kpArray) - // { - // CreateFolder(); - // string kpPath = Path.Combine(rootPath, $"{name}_{TypeName}.kp"); - // File.WriteAllBytes(kpPath, ObjectUtils.Serialize(kpArray)); - // } - public KeyPoint[]? LoadKeyPointArray() { CreateFolder(); @@ -65,32 +46,6 @@ public class FeatureStorage(string name) } } - // public Mat? LoadDescMat1() - // { - // CreateFolder(); - // // 格式: Surf_336767x128.mat - // var files = Directory.GetFiles(rootPath, $"{name}_{TypeName}_*.mat", SearchOption.AllDirectories); - // if (files.Length == 0) - // { - // return null; - // } - // else if (files.Length > 1) - // { - // Debug.WriteLine($"[FeatureSerializer] Found multiple files: {string.Join(", ", files)}"); - // } - // var rowColPair = Path.GetFileNameWithoutExtension(files[0]) - // .Replace($"{name}_{TypeName}_", "") - // .Split('x'); - // if (rowColPair.Length != 2) - // { - // Debug.WriteLine($"[FeatureSerializer] Invalid file name: {files[0]}"); - // return null; - // } - // GCHandle pinnedArray = GCHandle.Alloc(ObjectUtils.Deserialize(File.ReadAllBytes(files[0])), GCHandleType.Pinned); - // IntPtr pointer = pinnedArray.AddrOfPinnedObject(); - // return new Mat(Convert.ToInt32(rowColPair[0]), Convert.ToInt32(rowColPair[1]), MatType.CV_32FC1, pointer); - // } - public Mat? LoadDescMat() { CreateFolder(); @@ -109,22 +64,6 @@ public class FeatureStorage(string name) return mat; } - // public void SaveDescMat1(Mat descMat) - // { - // CreateFolder(); - // // 删除旧文件 - // var files = Directory.GetFiles(rootPath, $"{name}_{TypeName}_*.mat", SearchOption.AllDirectories); - // foreach (var file in files) - // { - // File.Delete(file); - // } - // - // var descPath = Path.Combine(rootPath, $"{name}_{TypeName}_{descMat.Rows}x{descMat.Cols}.mat"); - // var bytes = new byte[descMat.Step(0) * descMat.Rows]; // matSrcRet.Total() * matSrcRet.ElemSize() - // Marshal.Copy(descMat.Data, bytes, 0, bytes.Length); - // File.WriteAllBytes(descPath, ObjectUtils.Serialize(bytes)); - // } - public void SaveDescMat(Mat descMat) { CreateFolder(); @@ -135,7 +74,6 @@ public class FeatureStorage(string name) { File.Delete(file); } - var descPath = Path.Combine(rootPath, fileName); FileStorage fs = new(descPath, FileStorage.Modes.Write); fs.Write("desc", descMat);