Бинаризовать область изображения - 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(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д