Бинаризовать область изображения - C#
Формулировка задачи:
Добрый вечер!
никогда не касался с#, но по форс-мажорным обстоятельствам привычный мне с++ ускользнул от меня.
Прошу помощи, задача бинаризовать по порогу выделенную область картинки.
Есть 2 picturebox, trackbar, изображение загружается, мышкой выделяется область (например координаты левого верхнего угла и правого нижнего) и с помощью трэкбара бинаризуется (трэк баром меняется значение яркости, если пиксель больше него то его цвет черный, если меньше - белый). результат бинаризации отображается в правом picturebox.
Делаю в ВС, каким событием выделить область на изображении?
Как в c# напрямую обращаться к пикселям? можно пройти циклом по выделенным и бинаризовать их.
Прикладываю проект.
Буду признателен за помощь. Заранее спасибо!
Решение задачи: «Бинаризовать область изображения»
textual
Листинг программы
private void trackBar1_Scroll_1(object sender, EventArgs e)
{
label1.Text = trackBar1.Value.ToString();
Bitmap image = new Bitmap(pictureBox1.Image);
// create grayscale filter (BT709)
Grayscale filter = new Grayscale(0.2125, 0.7154, 0.0721);
// create filter
Threshold filter_1 = new Threshold(100);
// apply the filter
Bitmap grayImage = filter.Apply(image);
// apply the filter
filter_1.ApplyInPlace(grayImage);
pictureBox2.Image = grayImage;
pictureBox2.Refresh();
}
private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
{
label1.Text = e.X.ToString();
label2.Text = e.Y.ToString();
}
private void pictureBox1_MouseDoubleClick(object sender, MouseEventArgs e)
{
label3.Text = e.X.ToString();
label4.Text = e.Y.ToString();
}