using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.IO;
|
|
namespace HalconTools
|
{
|
[Serializable]
|
public class MatchingParamSave
|
{
|
public double StartingAngle { get; set; }
|
public double AngleExtent { get; set; }
|
|
public double MinScale { get; set; }
|
public double MaxScale { get; set; }
|
|
public double MinScore { get; set; }
|
|
public int NumMatches { get; set; }
|
|
public double MaxOverlap { get; set; }
|
|
public string Subpixel { get; set; }
|
|
public int NumLevel { get; set; }
|
public int LastPyramidLevel { get; set; }
|
|
public double Greediness { get; set; }
|
|
private MatchingParamSave SaveParam(MatchingAssistant param)//
|
{
|
MatchingParamSave paramSave = new MatchingParamSave();
|
paramSave.StartingAngle = param.getParameterSet.mStartingAngle;
|
paramSave.AngleExtent = param.getParameterSet.mAngleExtent;
|
paramSave.MinScale = param.getParameterSet.mMinScale;
|
paramSave.MaxScale = param.getParameterSet.mMaxScale;
|
paramSave.MinScore = param.getParameterSet.mMinScore;
|
paramSave.NumMatches = param.getParameterSet.mNumMatches;
|
paramSave.MaxOverlap = param.getParameterSet.mMaxOverlap;
|
paramSave.Subpixel = param.getParameterSet.mSubpixel;
|
paramSave.NumLevel = param.getParameterSet.mNumLevel;
|
paramSave.LastPyramidLevel = param.getParameterSet.mLastPyramidLevel;
|
paramSave.Greediness = param.getParameterSet.mGreediness;
|
|
return paramSave;
|
}
|
|
public MatchingParam TranParam(MatchingParamSave paramSave)
|
{
|
MatchingParam param = new MatchingParam();
|
|
param.mStartingAngle = paramSave.StartingAngle;
|
param.mAngleExtent = paramSave.AngleExtent;
|
param.mMinScale = paramSave.MinScale;
|
param.mMaxScale = paramSave.MaxScale;
|
param.mMinScore = paramSave.MinScore;
|
param.mNumMatches = paramSave.NumMatches;
|
param.mMaxOverlap = paramSave.MaxOverlap;
|
param.mSubpixel = paramSave.Subpixel;
|
param.mNumLevel = paramSave.NumLevel;
|
param.mLastPyramidLevel = paramSave.LastPyramidLevel;
|
param.mGreediness = paramSave.Greediness;
|
|
return param;
|
}
|
|
public bool Save(MatchingAssistant mAssistant)
|
{
|
string path = System.Windows.Forms.Application.StartupPath + "\\MatchingConfige";
|
if (!Directory.Exists(path))
|
{
|
Directory.CreateDirectory(path);
|
}
|
|
System.Windows.Forms.SaveFileDialog saveMatchingConfige = new System.Windows.Forms.SaveFileDialog();
|
saveMatchingConfige.InitialDirectory = System.Windows.Forms.Application.StartupPath + "\\MatchingConfige";
|
saveMatchingConfige.Filter = "xml|*.xml";
|
if (saveMatchingConfige.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
{
|
string files = saveMatchingConfige.FileName;
|
|
SerializeFileTool<HalconTools.MatchingParamSave> MatchingConfige = new SerializeFileTool<HalconTools.MatchingParamSave>();
|
HalconTools.MatchingParamSave param = new HalconTools.MatchingParamSave();
|
|
param = param.SaveParam(mAssistant); ;
|
MatchingConfige.SetConfig(files, param);
|
|
return true;
|
}
|
else
|
{
|
return false;
|
}
|
}
|
|
public MatchingParamSave Load(string path)
|
{
|
SerializeFileTool<HalconTools.MatchingParamSave> MatchingConfige = new SerializeFileTool<HalconTools.MatchingParamSave>();
|
|
MatchingParamSave param = new MatchingParamSave();
|
//if (!path.EndsWith(".xml"))
|
//{
|
// return param;
|
//}
|
|
param = MatchingConfige.GetConfig(path);
|
|
return param;
|
}
|
|
}
|
}
|