using PaintDotNet.Data.Param;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PaintDotNet.Data.Action
{
///
/// 物相间距
///
public class Action1010 : ActionAnalysis
{
///
/// 无视场执行提取
///
///
///
public override OpenCvSharp.Mat PerformProcess(OpenCvSharp.Mat src)
{
return Adjust.BinaryExtractionIntent.ImageBinaryExtraction(src, this.Lists);
}
///
/// 多视场执行提取
///
/// 视场mat
/// 原图mat
///
public override OpenCvSharp.Mat PerformProcess(OpenCvSharp.Mat src, OpenCvSharp.Mat mat)
{
return Adjust.BinaryExtractionIntent.ImageBinaryExtraction(src, mat, this.Lists);
}
///
/// 用于初始化参数
///
public Action1010()
{
this.MenuId = ActionType.ActionBinaryExtraction;
this.OpenImage = "current";
//线宽
IntegerNumber eleven = new IntegerNumber(1, 100);
eleven.key = "parameter11";
eleven.name = "线宽";
eleven.initialValue = 2;
eleven.value = 2;
lists.Add(eleven);
//颜色
ColorNumber twelve = new ColorNumber();
twelve.key = "parameter12";
twelve.name = "颜色";
twelve.Value = Color.Blue.ToArgb();
lists.Add(twelve);
//操作
//测量线/截点 1测量线 2截点
ChoiseArray thirteen = new ChoiseArray("parameter13", "操作",
new BooleanObject[]
{
new BooleanObject("1", "测量线", true, null),
new BooleanObject("2", "截点", true, null)
});
thirteen.initialValue = 1;
thirteen.value = 1;
lists.Add(thirteen);
//形状
ChoiseArray fourteen = new ChoiseArray("parameter14", "形状",
new BooleanObject[]
{
new BooleanObject("1", "圆形", true, null),
new BooleanObject("2", "方形", true, null)
});
fourteen.initialValue = 1;
fourteen.value = 1;
lists.Add(fourteen);
//样式
ChoiseArray fifteen = new ChoiseArray("parameter15", "样式",
new BooleanObject[]
{
new BooleanObject("1", "实心", true, null),
new BooleanObject("2", "空心", true, null)
});
fifteen.initialValue = 1;
fifteen.value = 1;
lists.Add(fifteen);
//大小
IntegerNumber sixteen = new IntegerNumber(1, 100);
sixteen.key = "parameter16";
sixteen.name = "大小";
sixteen.initialValue = 20;
sixteen.value = 20;
lists.Add(sixteen);
//颜色
ColorNumber twentyTwo = new ColorNumber();
twentyTwo.key = "parameter22";
twentyTwo.name = "颜色";
twentyTwo.Value = Color.Yellow.ToArgb();
lists.Add(twentyTwo);
//线宽
IntegerNumber seventeen = new IntegerNumber(1, 100);
seventeen.key = "parameter17";
seventeen.name = "线宽";
seventeen.initialValue = 1;
seventeen.value = 1;
lists.Add(seventeen);
//误差
IntegerNumber eighteen = new IntegerNumber(1, 10000);
eighteen.key = "parameter18";
eighteen.name = "误差";
eighteen.initialValue = 30;
eighteen.value = 30;
lists.Add(eighteen);
BooleanObject nineteen = new BooleanObject();
nineteen.key = "parameter19";
nineteen.name = "显示二值数据";
nineteen.initialValue = false;
nineteen.Value = false;
lists.Add(nineteen);
BooleanObject twenty = new BooleanObject();
twenty.key = "parameter20";
twenty.name = "显示网格";
twenty.initialValue = false;
twenty.Value = false;
lists.Add(twenty);
BooleanObject twentyOne = new BooleanObject();
twentyOne.key = "parameter21";
twentyOne.name = "显示截点";
twentyOne.initialValue = false;
twentyOne.Value = false;
lists.Add(twentyOne);
}
}
}