Доброго времени суток!У меня есть программа которая распознает круг.Как сделать так чтобы она распознала Эллипс.
if (_shapeChecker.IsCircle(_edgePoint, out _center, out _radius))
{
_g.DrawEllipse(_PictureboxPen, (float)(pictureBox1.Size.Width),
(float)(pictureBox1.Size.Height),
(float)10, (float)10);
// Настройка рисования контура обнаруженного объекта
Rectangle[] _rects = _blobCounter.GetObjectsRectangles();
Pen _pen = new Pen(Color.Green, ipenWidth);
string _shapeString = "" + _shapeChecker.CheckShapeType(_edgePoint);
int _x = (int)_center.X;
int _y = (int)_center.Y;
///
/// Распознование объекта
_g.DrawString(_shapeString, _font, _brush, _x, _y);
_g.DrawEllipse(_pen, (float)(_center.X - _radius),
(float)(_center.Y - _radius),
(float)(_radius * 2),
(float)(_radius * 2));
//centroid point of object
int _centroid_X = (int)_blobPoints[0].CenterOfGravity.X;
int _centroid_Y = (int)_blobPoints[0].CenterOfGravity.Y;
_g.DrawEllipse(_pen, (float)(_centroid_X), (float)(_centroid_Y), (float)10, (float)10);
//Degree calculation
int _deg_x = _centroid_X - pictureBox1.Size.Width;
int _deg_y = pictureBox1.Size.Height - _centroid_Y;
textBox1.Text = ("Degree: (" + _deg_x + ", " + _deg_y + ")");
//size rectange
foreach (Rectangle rc in _rects)
{
//System.Diagnostics.Debug.WriteLine(
// string.Format("Circle size: ({0}, {1})", rc.Width, rc.Height));
iFeatureWidth = rc.Width;
double dis = FindDistance(iFeatureWidth);
textBox2.Text = dis.ToString();
//_g.DrawString(dis.ToString("N2") + "cm", _font, _brush, _x, _y + 60);
}
}