xcd
2020-03-29 95d9d4a9d26323c51087a056c25f88180f1e3c45
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace HalconTools
{
    [Serializable]
    public class MeasureParamSave
    {
        /// <summary>
        /// ROI Height
        /// </summary>
        public double hv_measure_Length1 { get; set; }
 
        /// <summary>
        /// ROI Width
        /// </summary>
        public double hv_measure_Length2 { get; set; }
 
        public double hv_measure_sigma { get; set; }
 
        public double hv_measure_threshold { get; set; }
 
        public int hv_measure_number { get; set; }
 
        public string hv_measure_position { get; set; }
 
        public string hv_measure_transition { get; set; }
 
        public string  hv_measure_interpolation { get; set; }
 
        
        private MeasureParamSave SaveParam(MeasureAssistant param)
        {
            MeasureParamSave paramSave = new MeasureParamSave();
            paramSave.hv_measure_number = 20;
            paramSave.hv_measure_Length1 = param.mRoiHeight;
            paramSave.hv_measure_Length2 = param.mRoiWidth;
            paramSave.hv_measure_threshold = param.mThresh;
            paramSave.hv_measure_sigma = param.mSigma;
            paramSave.hv_measure_transition = param.mTransition;
            paramSave.hv_measure_position = param.mPosition;
            paramSave.hv_measure_interpolation = param.mInterpolation;
 
            return paramSave;
        }
 
        public bool Save(MeasureAssistant mAssistant)
        {
            string path = System.Windows.Forms.Application.StartupPath + "\\MeasureConfige";
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
 
            System.Windows.Forms.SaveFileDialog saveMatchingConfige = new System.Windows.Forms.SaveFileDialog();
            saveMatchingConfige.InitialDirectory = System.Windows.Forms.Application.StartupPath + "\\MeasureConfige";
            saveMatchingConfige.Filter = "xml|*.xml";
            if (saveMatchingConfige.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                string files = saveMatchingConfige.FileName;
 
                SerializeFileTool<HalconTools.MeasureParamSave> MeasureConfige = new SerializeFileTool<HalconTools.MeasureParamSave>();
                HalconTools.MeasureParamSave param = new HalconTools.MeasureParamSave();
 
                param = param.SaveParam(mAssistant); ;
                MeasureConfige.SetConfig(files, param);
 
                return true;
            }
            else
            {
                return false;
            }
        }
 
        public MeasureParamSave Load(string path)
        {
            SerializeFileTool<HalconTools.MeasureParamSave> MeasureConfige = new SerializeFileTool<HalconTools.MeasureParamSave>();
 
            MeasureParamSave param = new MeasureParamSave();
            //if (!path.EndsWith(".xml"))
            //{
            //    return param;
            //}
 
            param = MeasureConfige.GetConfig(path);
 
            return param;
        }
    }
}