private void _ShapeMatch(EROIC24 EC24Image1, ref List <PositionInfo> _Resultlist) { try { m_match.Match(EC24Image1); for (int i = 0; i < m_match.NumPositions; i++) { PositionInfo info = new PositionInfo(); EMatchPosition pos = m_match.GetPosition(i); info.CenterX = pos.CenterX; info.CenterY = pos.CenterY; info.angle = pos.Angle; info.scaleX = pos.ScaleX; info.scaleY = pos.ScaleY; info.score = pos.Score; _Resultlist.Add(info); } } catch (EException) { // Insert exception handling code here } }
public List <PositionInfo> ShapeMatch(Bitmap bmp) { List <PositionInfo> _Resultlist = new List <PositionInfo>(); try { string MCH_matchFile = GlobalVar.gl_matchFileName; EMatcher EMatch1 = new EMatcher(); //單反相機需要用ec24 EImageBW8 bw8image = ConvertBitmapToEImageBW8(bmp); EMatch1.Load(MCH_matchFile); EMatch1.MaxPositions = 10; EMatch1.MinScore = GlobalVar.gl_MinMatchScore * 1.00f / 100; EMatch1.Match(bw8image); for (int i = 0; i < EMatch1.NumPositions; i++) { PositionInfo info = new PositionInfo(); EMatchPosition pos = EMatch1.GetPosition(i); info.CenterX = pos.CenterX; info.CenterY = pos.CenterY; info.angle = pos.Angle; info.scaleX = pos.ScaleX; info.scaleY = pos.ScaleY; info.score = pos.Score; info.MCHPatterWidth = EMatch1.PatternWidth; info.MCHPatterHeight = EMatch1.PatternHeight; _Resultlist.Add(info); } return(_Resultlist); } catch (EException) { return(new List <PositionInfo>()); } }