Сегментация изображения с помощью гистограммы
Я пытаюсь сделать сегментацию изображения, которая зависит от значений гистограммы, сначала я сделал k-mean, затем я преобразовал изображение в серый цвет и взял из него значение гистограммы. Наконец, я использую порог, чтобы получить запрошенную часть.
Что я уже пробовал:
private void button2_Click(object sender, EventArgs e) { int width = image.Width; int height = image.Height; Color p; //Grayscale for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { p = image.GetPixel(x, y); int a = p.A; int r = p.R; int g = p.G; int b = p.B; double someDouble = ((r * 0.3) + (g * 0.59) + (b * 0.11)); int avg = Convert.ToInt32(someDouble); //int avg = (r + g + b) / 3; avg = (avg < 100) && (avg > 80) ? 0 : 255; // Converting gray pixels to either pure black or pure white bmp1.SetPixel(x, y, Color.FromArgb(a,avg, avg, avg)); } } pictureBox2.Image = bmp1; }
мой вопрос? У меня не получилось хорошей сегментации...может кто-нибудь дать мне совет, а что делает команда "
avg = (avg < 100) && (avg > 80) ? 0 : 255;"дай мне, когда сбудется? белый "1" или черный"0"?
Member 14129828
Большое спасибо!