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))); }
// Constructor public MoravecCornersDetectorForm( ) { InitializeComponent( ); filter = new CornersMarker(detector); filterPreview.Filter = filter; // default filtering settings thresholdTrackBar.Value = detector.Threshold; windowSizeCombo.SelectedIndex = 0; }
// Constructor public SusanCornersDetectorForm( ) { InitializeComponent( ); filter = new CornersMarker(detector); filterPreview.Filter = filter; // default filtering settings diffThresholdTrackBar.Value = detector.DifferenceThreshold; geometricalThresholdTrackBar.Value = detector.GeometricalThreshold; }
public mFigureCorners(System.Drawing.Color MarkColor) { MarkerColor = MarkColor; BitmapType = 0; SusanCornersDetector Detector = new SusanCornersDetector(); Effect = new CornersMarker(Detector, MarkerColor); Sequence.Clear(); Sequence.Add(Effect); }
/// <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); }
// Start is called before the first frame update void Start() { //TestImages t = new TestImages("lena"); Bitmap image = BitmapConversion.Texture2DToBitmap(inputTex); FastCornersDetector fast = new FastCornersDetector(20); // Create a new AForge's Corner Marker Filter CornersMarker corners = new CornersMarker(fast, System.Drawing.Color.White); corners.ApplyInPlace(image); // Apply the filter and display it on a picturebox rawImage.texture = BitmapConversion.BitmapToTexture2D(image); }
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-точек } }
public mAnalyzeCornersSusan(Bitmap InitialBitmap, Color CornerColor, int DiffThreshold, int GeoThreshold) { BitmapType = BitmapTypes.None; SusanCornersDetector cMethod = new SusanCornersDetector(); cMethod.DifferenceThreshold = DiffThreshold; cMethod.GeometricalThreshold = GeoThreshold; Effect = new CornersMarker(cMethod, CornerColor); Effect.Detector = cMethod; List <IntPoint> corners = cMethod.ProcessImage(InitialBitmap); foreach (IntPoint corner in corners) { Points.Add(new wPoint(corner.X, InitialBitmap.Height - corner.Y)); } }
public mAnalyzeCornersMoravec(Bitmap InitialBitmap, Color CornerColor, int DiffThreshold) { BitmapType = mFilter.BitmapTypes.None; MoravecCornersDetector cMethod = new MoravecCornersDetector(); cMethod.Threshold = DiffThreshold; Effect = new CornersMarker(cMethod, CornerColor); Effect.Detector = cMethod; List <IntPoint> corners = cMethod.ProcessImage(InitialBitmap); foreach (IntPoint corner in corners) { Points.Add(new wPoint(corner.X, InitialBitmap.Height - corner.Y)); } filter = Effect; }
public CornersMarkerProcessor() { m_detector = new SusanCornersDetector(); m_filter = new CornersMarker(m_detector, Color.Red); }