Minimum Enclosing Circle in CSharp

From Emgu CV: OpenCV in .NET (C#, VB, C++ and more)
Revision as of 03:31, 24 November 2010 by Inuxejiq (talk | contribs)
Jump to: navigation, search


This Page Is Currently Under Construction And Will Be Available Shortly, Please Visit Reserve Copy Page


CLICK HERE


System Requirement

Component Requirement Detail
Emgu CV Version 2.0.1.0 Available only from SVN
Operation System Cross Platform

Source Code

<source lang="csharp">

  1. region generate random points

System.Random r = new Random(); int sampleCount = 100; Ellipse modelEllipse = new Ellipse(new PointF(200, 200), new SizeF(90, 60), -60); PointF[] pts = PointCollection.GeneratePointCloud(modelEllipse, sampleCount);

  1. endregion

Stopwatch watch = Stopwatch.StartNew(); CircleF circle = PointCollection.MinEnclosingCircle(pts); watch.Stop();

  1. region draw the points and the circle

Image<Bgr, byte> img = new Image<Bgr, byte>(400, 400, new Bgr(Color.White)); img.Draw(circle, new Bgr(Color.Red), 1); foreach (PointF p in pts)

  img.Draw(new CircleF(p, 2), new Bgr(Color.Green), 1);
  1. endregion

ImageViewer.Show(img, String.Format("Time used: {0} milliseconds", watch.ElapsedMilliseconds)); </source>

Result

MinimumEnclosingCircleExample.png