Action911.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using PaintDotNet.Adjust;
  2. using PaintDotNet.Base;
  3. using PaintDotNet.Base.Enum;
  4. using PaintDotNet.Base.Functionodel;
  5. using PaintDotNet.Data.Param;
  6. using System.Collections.Generic;
  7. namespace PaintDotNet.Data.Action
  8. {
  9. /// <summary>
  10. /// 去碎屑,针对相
  11. /// </summary>
  12. public class Action911 : ParamObject
  13. {
  14. public override OpenCvSharp.Mat PerformProcess(PhaseModel phaseModel, double rule)
  15. {
  16. return MorphologyIntent.Debris(phaseModel.mat, this.Lists, phaseModel.color, rule);
  17. }
  18. public Action911()
  19. {
  20. this.MenuId = ActionType.ActionDebris;
  21. this.OpenImage = "currentPhase";
  22. StringArray stringArray = new StringArray();
  23. stringArray.key = "FilterParameters";
  24. stringArray.name = PdnResources.GetString("Menu.Filterparams.text");
  25. stringArray.initialValue = InvariantData.filterparameters;
  26. stringArray.Value = FilterParameters.Area;
  27. lists.Add(stringArray);
  28. List<double> oneL = new List<double>();
  29. oneL.Add(0);
  30. oneL.Add(0);
  31. DecimalScope one = new DecimalScope(0, int.MaxValue);
  32. one.key = "Scope";
  33. one.name = PdnResources.GetString("Menu.numberrange.text");
  34. one.value = oneL;
  35. lists.Add(one);
  36. StringArray unitArray = new StringArray();
  37. unitArray.key = "UnitParameters";
  38. unitArray.name = PdnResources.GetString("Menu.filterunit.text");
  39. unitArray.initialValue = InvariantData.unitparameters;
  40. unitArray.Value = MeasurementUnit.Micron;
  41. lists.Add(unitArray);
  42. StringArray functionArray = new StringArray();
  43. functionArray.key = "FunctionParameters";
  44. functionArray.name = PdnResources.GetString("Menu.Binaryoperation.Removedebris.filtermethod.text");
  45. functionArray.initialValue = InvariantData.functionparameters;
  46. functionArray.Value = FunctionParameters.Remove;
  47. lists.Add(functionArray);
  48. BooleanObject colorInterval = new BooleanObject();
  49. colorInterval.key = "BoundaryPreservation";
  50. colorInterval.name = PdnResources.GetString("Menu.holdBoundary.text");
  51. colorInterval.initialValue = true;
  52. colorInterval.value = true;
  53. lists.Add(colorInterval);
  54. }
  55. }
  56. }