Я пытаюсь найти разницу между заполненным кругом и кругом.
форма, которую я хочу
форма, которую я хочу
Но я не нахожу пути. Программа видит все формы, поэтому я не могу рассчитать площадь. Что я могу сделать?
for (int i = 0; i < contours.Size; i++) //şekilleri buluyor....
{
double perimeter = CvInvoke.ArcLength(contours[i], true); // genişliklerini hesaplıypr.
int cevre = Convert.ToInt16(Math.Round(perimeter));
CvInvoke.ApproxPolyDP(contours[i], approx, 0.04 * cevre, true); //nokta listesini döndürür
double alan = CvInvoke.ContourArea(contours[i]);
var moments = CvInvoke.Moments(contours[i]);
int x = (int)(moments.M10 / moments.M00);
int y = (int)(moments.M01 / moments.M00);
for (int j = 0; j < dizi.Length; j++)
{
if (cevre == dizi[j])
{
if (approx.Size > 6)
{
if (x < 240)
{
CvInvoke.PutText(imgInput, j.ToString(), new Point(x, y),
Emgu.CV.CvEnum.FontFace.HersheyComplex, 0.9, new MCvScalar(255, 150, 0), 2);
listBox1.Items.Add(j + ": Circle");
}
else
{
CvInvoke.PutText(imgInput, j.ToString(), new Point(x, y),
Emgu.CV.CvEnum.FontFace.HersheyComplex, 0.9, new MCvScalar(255, 255, 0), 2);
listBox1.Items.Add(j + ": Filled Circle");
}
}
dizi[j] = -20;
pictureBox2.Image = imgInput.Bitmap;
break;
}
}
}
Большое спасибо.