Beispiel #1
0
        public MKeyPoint[] Maspointer(Image <Bgr, byte> image, int mode)
        {
            switch (mode)
            {
            case 0:
            {
                GFTTDetector detector = new GFTTDetector(40, 0.01, 5, 3, true);
                MKeyPoint[]  GFP1     = detector.Detect(image.Convert <Gray, byte>().Mat);
                return(GFP1);
            }

            case 1:
            {
                Brisk       detector = new Brisk();
                MKeyPoint[] GFP1     = detector.Detect(image.Convert <Gray, byte>().Mat);
                return(GFP1);
            }

            case 2:
            {
                FastFeatureDetector detector = new FastFeatureDetector();
                MKeyPoint[]         GFP1     = detector.Detect(image.Convert <Gray, byte>().Mat);
                return(GFP1);
            }
            }
            return(null);
        }
Beispiel #2
0
        private void btnBrisk_Click(object sender, EventArgs e)
        {
            var temproot = RootImg.Clone();
            var tempimg1 = WorkingImg.Clone();
            Image <Bgr, byte> colorimg   = tempimg1.Convert <Bgr, byte>();
            Image <Bgr, byte> tempOriImg = temproot.Convert <Bgr, byte>();
            //var f2d = new Brisk((int)nudbri1.Value ,(int)nudbri1.Value , (int)nudbri1.Value );
            var f2d = new Brisk();

            var keypoint = f2d.Detect(WorkingImg);

            foreach (var point in keypoint)
            {
                System.Drawing.Rectangle rect = new Rectangle();
                rect.X      = (int)point.Point.X;
                rect.Y      = (int)point.Point.Y;
                rect.Width  = (int)point.Size;
                rect.Height = (int)point.Size;
                tempOriImg.Draw(rect, new Bgr(60, 200, 10), 2);
            }

            rtxLog.AppendText("btnBrisk_Click" + Environment.NewLine);
            RegistHisroty(tempOriImg);
        }
Beispiel #3
0
        public Image<Bgr, byte> GetBriskPoints()
        {
            MKeyPoint[] points = BriskDetector.Detect(img.Copy().Convert<Gray, byte>().Mat);

            return points;
        }