Minimum Area Rectangle in CSharp

From EMGU
Revision as of 06:05, 24 November 2010 by Breadwinka (talk | contribs) (Undo revision 994 by Inuxejiq (talk))
Jump to navigation Jump to search

System Requirement

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

Source Code

#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);
#endregion

Stopwatch watch = Stopwatch.StartNew();
MCvBox2D box = PointCollection.MinAreaRect(pts);
watch.Stop();

#region draw the points and the box
Image<Bgr, byte> img = new Image<Bgr, byte>(400, 400, new Bgr(Color.White));
img.Draw(box, new Bgr(Color.Red), 1);
foreach (PointF p in pts)
   img.Draw(new CircleF(p, 2), new Bgr(Color.Green), 1);
#endregion

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

Result