Exemplo n.º 1
0
        void GetData()
        {
            modulDescr.config.parameters.simpleItem.ForEach(x => {
                switch (x.name)
                {
                case "sensitivity":
                    x.value = DataConverter.IntToString((int)valueSensitivity.Value);
                    break;

                case "region_mask":
                    x.value = DataConverter.IntToString(approEditor.MaskedValue);
                    break;

                case "enable":
                    x.value = DataConverter.BoolToString(isEnabled.IsChecked.Value);
                    break;
                }
            });
        }
        protected override Config OnConfigure(Config defaultConfig, Config[] existingConfigs)
        {
            foreach (var item in defaultConfig.parameters.elementItem)
            {
                if (item.name == "AntishakerCrop")
                {
                    item.any = new synesis.AntishakerCrop()
                    {
                        XOffs = -1, YOffs = 1, CropWidth = 2, CropHeight = 2
                    }.Serialize();
                }
                else if (item.name == "UserRegion")
                {
                    var rose = new synesis.Rose()
                    {
                        Left = true, UpLeft = true, Up = true, UpRight = true, Right = true, DownRight = true, Down = true, DownLeft = true
                    };
                    var points = new [] {
                        new synesis.Point()
                        {
                            X = -1, Y = -1
                        },
                        new synesis.Point()
                        {
                            X = -1, Y = 1
                        },
                        new synesis.Point()
                        {
                            X = 1, Y = 1
                        },
                        new synesis.Point()
                        {
                            X = 1, Y = -1
                        }
                    };
                    item.any = new synesis.UserRegion()
                    {
                        Rose = rose, Points = points
                    }.Serialize();
                }
                else if (item.name == "MarkerCalibration")
                {
                    var heightMarker = new synesis.HeightMarker()
                    {
                        Height         = 170,
                        SurfaceNormals = new synesis.SurfaceNormal[]
                        {
                            new synesis.SurfaceNormal()
                            {
                                Height = 0.4f, Point = new synesis.Point()
                                {
                                    X = -0.5f, Y = -0.25f
                                }
                            },
                            new synesis.SurfaceNormal()
                            {
                                Height = 0.25f, Point = new synesis.Point()
                                {
                                    X = 0.5f, Y = 0.5f
                                }
                            }
                        }
                    };
                    var heightMarkers           = new synesis.HeightMarker[] { heightMarker };
                    var heightMarkerCalibration = new synesis.HeightMarkerCalibration()
                    {
                        FocalLength = 9, MatrixFormat = synesis.MatrixFormat.Item13, HeightMarkers = heightMarkers
                    };
                    item.any = new synesis.MarkerCalibration()
                    {
                        Item = heightMarkerCalibration
                    }.Serialize();
                }
            }

            foreach (var item in defaultConfig.parameters.simpleItem)
            {
                switch (item.name)
                {
                case "UseObjectTracker":
                    item.value = DataConverter.BoolToString(true); break;

                case "StabilizationTime":
                    item.value = DataConverter.IntToString(1000); break;

                case "MinObjectArea":
                    item.value = DataConverter.FloatToString(0.1f); break;

                case "MaxObjectArea":
                    item.value = DataConverter.FloatToString(10.0f); break;

                case "MaxObjectSpeed":
                    item.value = DataConverter.FloatToString(20.0f); break;

                case "DisplacementSensitivity":
                    item.value = DataConverter.IntToString(3); break;

                case "UseAntishaker":
                    item.value = DataConverter.BoolToString(true); break;

                case "ContrastSensitivity":
                    item.value = DataConverter.IntToString(7); break;

                case "ImageTooDark":
                    item.value = DataConverter.BoolToString(true); break;

                case "ImageTooBlurry":
                    item.value = DataConverter.BoolToString(true); break;

                case "ImageTooBright":
                    item.value = DataConverter.BoolToString(true); break;

                case "CameraRedirected":
                    item.value = DataConverter.BoolToString(true); break;

                case "CameraObstructed":
                    item.value = DataConverter.BoolToString(true); break;
                }
            }



            return(defaultConfig);
        }