hawkeye camera support(not tested)

This commit is contained in:
meelstorm
2025-08-19 12:45:50 +02:00
parent f80b275ad8
commit 6ef6aced8d
170 changed files with 20190 additions and 72 deletions

View File

@@ -35,4 +35,20 @@ public class CannyOperation:BaseOperation
Threshold1 = br.ReadInt32();
Threshold2 = br.ReadInt32();
}
public override void Save(Dictionary<string, object> dict)
{
base.Save(dict);
dict[nameof(Threshold1)] = Threshold1;
dict[nameof(Threshold2)] = Threshold2;
}
public override void Load(Dictionary<string, object> dict)
{
base.Load(dict);
if (dict.ContainsKey(nameof(Threshold1)))
Threshold1 = Convert.ToInt32(dict[nameof(Threshold1)]);
if (dict.ContainsKey(nameof(Threshold2)))
Threshold2 = Convert.ToInt32(dict[nameof(Threshold2)]);
}
}

View File

@@ -52,4 +52,20 @@ public class DetectionPaddingOperation:BaseOperation
HorizontalPadding = br.ReadInt32();
VerticalPadding = br.ReadInt32();
}
public override void Save(Dictionary<string, object> dict)
{
base.Save(dict);
dict[nameof(HorizontalPadding)] = HorizontalPadding;
dict[nameof(VerticalPadding)] = VerticalPadding;
}
public override void Load(Dictionary<string, object> dict)
{
base.Load(dict);
if (dict.ContainsKey(nameof(HorizontalPadding)))
HorizontalPadding = Convert.ToInt32(dict[nameof(HorizontalPadding)]);
if (dict.ContainsKey(nameof(VerticalPadding)))
VerticalPadding = Convert.ToInt32(dict[nameof(VerticalPadding)]);
}
}

View File

@@ -47,4 +47,17 @@ public class GaussianBlurOperation : BaseOperation
KernelSize.Script = br.ReadString();
}
public override void Save(Dictionary<string, object> dict)
{
base.Save(dict);
dict[nameof(KernelSize)] = KernelSize.Script;
}
public override void Load(Dictionary<string, object> dict)
{
base.Load(dict);
if (dict.ContainsKey(nameof(KernelSize)))
KernelSize.Script = dict[nameof(KernelSize)].ToString();
}
}

View File

@@ -51,4 +51,29 @@ public class PorabollisticHoughOperation:BaseOperation
MinLineLength = br.ReadInt32();
MaxLineGap = br.ReadInt32();
}
public override void Save(Dictionary<string, object> dict)
{
base.Save(dict);
dict[nameof(DistanceResolution)] = DistanceResolution;
dict[nameof(AngleResolution)] = AngleResolution;
dict[nameof(Threshold)] = Threshold;
dict[nameof(MinLineLength)] = MinLineLength;
dict[nameof(MaxLineGap)] = MaxLineGap;
}
public override void Load(Dictionary<string, object> dict)
{
base.Load(dict);
if (dict.ContainsKey(nameof(DistanceResolution)))
DistanceResolution = Convert.ToDouble(dict[nameof(DistanceResolution)]);
if (dict.ContainsKey(nameof(AngleResolution)))
AngleResolution = Convert.ToDouble(dict[nameof(AngleResolution)]);
if (dict.ContainsKey(nameof(Threshold)))
Threshold = Convert.ToInt32(dict[nameof(Threshold)]);
if (dict.ContainsKey(nameof(MinLineLength)))
MinLineLength = Convert.ToInt32(dict[nameof(MinLineLength)]);
if (dict.ContainsKey(nameof(MaxLineGap)))
MaxLineGap = Convert.ToInt32(dict[nameof(MaxLineGap)]);
}
}

View File

@@ -44,4 +44,20 @@ public class ThresholdMinMaxOperation : BaseOperation
ThresholdMin.Script = br.ReadString();
ThresholdMax.Script = br.ReadString();
}
public override void Save(Dictionary<string, object> dict)
{
base.Save(dict);
dict[nameof(ThresholdMin)] = ThresholdMin.Script;
dict[nameof(ThresholdMax)] = ThresholdMax.Script;
}
public override void Load(Dictionary<string, object> dict)
{
base.Load(dict);
if (dict.ContainsKey(nameof(ThresholdMin)))
ThresholdMin.Script = dict[nameof(ThresholdMin)].ToString();
if (dict.ContainsKey(nameof(ThresholdMax)))
ThresholdMax.Script = dict[nameof(ThresholdMax)].ToString();
}
}

View File

@@ -41,4 +41,17 @@ public class ThresholdOperation:BaseOperation
ThresholdMin.Script = br.ReadString();
}
public override void Save(Dictionary<string, object> dict)
{
base.Save(dict);
dict[nameof(ThresholdMin)] = ThresholdMin.Script;
}
public override void Load(Dictionary<string, object> dict)
{
base.Load(dict);
if (dict.ContainsKey(nameof(ThresholdMin)))
ThresholdMin.Script = dict[nameof(ThresholdMin)].ToString();
}
}