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
     }
 }
Example #2
0
        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>());
            }
        }