У меня очень простое приложение для обработки изображений.
Я пытаюсь удалить пиксели, которые
не включайте красные тона.
Пока базовый код, кажется, достигает того, чего я хочу.
private void removeUnRedCellsBtn_Click(object sender, EventArgs e)
{
byte threshold = Convert.ToByte(diffTxtBox.Text);
byte r, g, b;
for (int i = 0; i < m_Bitmap.Width; i++)
{
for (int j = 0; j < m_Bitmap.Height; j++)
{
r = im_matrix[i, j].R;
g = im_matrix[i, j].G;
b = im_matrix[i, j].B;
if ((r - b) < threshold || (r - g) < threshold)
{
m_Bitmap.SetPixel(i, j, Color.White);
}
}
}
pictureArea_PictureBox.Image = m_Bitmap;
}
В основном, если разница (красного и синего) или (красного и зеленого) меньше порогового значения, пиксель устанавливается в белый цвет.
Мои результаты кажутся многообещающими
Однако мне интересно, если есть
лучшее решение для определения
включает ли пиксель красные тона в
это.
Мои результаты для порогового значения 75:
Любой алгоритм или мысль будут очень цениться.
Заранее спасибо