private void button1_Click(object sender, EventArgs e) { // Open a image Bitmap lenna = Properties.Resources.lena512; double sigma = (double)numSigma.Value; float k = (float)numK.Value; float threshold = (float)numThreshold.Value; // Create a new Harris Corners Detector using the given parameters HarrisCornersDetector harris = new HarrisCornersDetector(k) { Measure = checkBox1.Checked ? HarrisCornerMeasure.Harris : HarrisCornerMeasure.Noble, Threshold = threshold, Sigma = sigma }; // Create a new AForge's Corner Marker Filter CornersMarker corners = new CornersMarker(harris, Color.White); // Apply the filter and display it on a picturebox pictureBox1.Image = corners.Apply(lenna); }
public static IEnumerable <System.Drawing.Point> GetCornersMoravec(this Bitmap iBitmap) { MoravecCornersDetector mcd = new MoravecCornersDetector(); List <IntPoint> corner2s = mcd.ProcessImage(iBitmap); CornersMarker filterCornersMarker = new CornersMarker(mcd, Color.Red); var result2 = filterCornersMarker.Apply(iBitmap); return(corner2s.Select(x => new System.Drawing.Point(x.X, x.Y))); }
public static IEnumerable <System.Drawing.Point> GetCornersSusan(this Bitmap iBitmap) { SusanCornersDetector scd = new SusanCornersDetector(); List <IntPoint> corners = scd.ProcessImage(iBitmap); CornersMarker filterCornersMarker = new CornersMarker(scd, Color.Red); var result = filterCornersMarker.Apply(iBitmap); return(corners.Select(x => new System.Drawing.Point(x.X, x.Y))); }
/// <summary> /// Поиск клювых точек и получение изображения с маркерами /// </summary> /// <param name="sigma">Сигма</param> /// <param name="k">k</param> /// <param name="threshold">Граница</param> /// <param name="img">Изображение</param> /// <param name="Height">Высота</param> /// <param name="Width">Ширина</param> /// <returns>Изображение с маркерами</returns> public Bitmap KeyPoint(double sigma, float k, float threshold, Bitmap img, int Height, int Width) { HarrisCornersDetector harris = new HarrisCornersDetector(k) { Threshold = threshold, Sigma = sigma }; CornersMarker corners = new CornersMarker(harris, Color.DeepSkyBlue); var CornerRrev = corners.Apply(img); var DemoSize = ResizeImg(Height, Width); var DemoImg = new Bitmap(CornerRrev, DemoSize.Item2, DemoSize.Item1); return(DemoImg); }
private void button1_Click(object sender, EventArgs e) { // Open a image Bitmap lenna = Fast.Properties.Resources.lena512; // Create a new SURF Features Detector using the given parameters FastCornersDetector fast = new FastCornersDetector(); fast.Threshold = (int)numThreshold.Value; fast.Suppress = true; // Create a new AForge's Corner Marker Filter CornersMarker corners = new CornersMarker(fast, Color.White); // Apply the filter and display it on a picturebox pictureBox1.Image = corners.Apply(lenna); }
private void button1_Click(object sender, EventArgs e) { // Open a image Bitmap lenna = Resources.lena512; // Create a new SURF Features Detector using the given parameters FastCornersDetector fast = new FastCornersDetector(); fast.Threshold = (int)numThreshold.Value; fast.Suppress = true; // Create a new AForge's Corner Marker Filter CornersMarker corners = new CornersMarker(fast, Color.White); // Apply the filter and display it on a picturebox pictureBox1.Image = corners.Apply(lenna); }
//---------------------------------------Модуль для обработки Accord (ключевых точек)---------------------------------------// void CornerFound(params object[] list) { if (list.Length != 1) { double sigma = (double)list[3]; double k = (double)list[1]; int threshold = (int)list[2]; // Create a new Harris Corners Detector using the given parameters HarrisCornersDetector harris = new HarrisCornersDetector((float)k) { Threshold = (float)threshold, Sigma = sigma }; // Create a new AForge's Corner Marker Filter CornersMarker corners = new CornersMarker(harris, Color.White); // input.RotateFlip(RotateFlipType.Rotate180FlipX); var OriginCorner = harris.ProcessImage((Bitmap)list[0]); // ОРИГИНАЛ var CornerRrev = corners.Apply((Bitmap)list[0]); var Picture = GrayImg.ResizeImg(pictureBox1.Height, pictureBox1.Width); // подгонка для первоначального показа Bitmap endpick = new Bitmap(CornerRrev, new Size(Picture.Item2, Picture.Item1)); pictureBox1.Image = endpick; CreateTable(OriginCorner);// построение таблицы key-точек } else { double sigma = (double)numSigma.Value; float k = (float)numK.Value; float threshold = (float)numThreshold.Value; // Create a new Harris Corners Detector using the given parameters HarrisCornersDetector harris = new HarrisCornersDetector(k) { Threshold = threshold, Sigma = sigma }; // Create a new AForge's Corner Marker Filter CornersMarker corners = new CornersMarker(harris, Color.White); // input.RotateFlip(RotateFlipType.Rotate180FlipX); var OriginCorner = harris.ProcessImage((Bitmap)list[0]); // ОРИГИНАЛ var CornerRrev = corners.Apply((Bitmap)list[0]); var Picture = GrayImg.ResizeImg(pictureBox1.Height, pictureBox1.Width); // подгонка для первоначального показа Bitmap endpick = new Bitmap(CornerRrev, new Size(Picture.Item2, Picture.Item1)); pictureBox1.Image = endpick; CreateTable(OriginCorner);// построение таблицы key-точек } }
protected override IImage HandleCore(IImage src) { Bitmap bmpSrc = src.ToBitmap(); return(new BitmapWrapper(m_filter.Apply(src.ToBitmap()))); }