For a grayscale image this is simple:
OpenFileDialog open = new OpenFileDialog();
open.Filter = "Image Files (*.tif; *.dcm; *.jpg; *.jpeg; *.bmp)|*.tif; *.dcm; *.jpg; *.jpeg; *.bmp";
int threshold_value = 50; if (open.ShowDialog() == DialogResult.OK)
{
Image<Gray,Byte> img = new Image<Gray,Byte>(open.FileName);
pictureBox1.Image = img.ToBitmap(); img = img.ThresholdBinary(new Gray(threshold_value), new Gray(255));
pictureBox2.Image = img .ToBitmap(); }
If you want to play with things a little you can add a trackbar to your form, put the minimum to 0 and maximum to 255, and use this code.
private void trackBar1_Scroll(object sender, EventArgs e)
{
int trackbar = trackBar1.Value;
label1.Text = trackbar.ToString(); if (img != null)
{
using (Image<Gray,Byte> Gray = img.ThresholdBinary(new Gray(trackbar), new Gray(255)))
{
pictureBox2.Image = Gray.ToBitmap();
}
}
}
For a colour image things are a little different:
OpenFileDialog open = new OpenFileDialog();
open.Filter = "Image Files (*.tif; *.dcm; *.jpg; *.jpeg; *.bmp)|*.tif; *.dcm; *.jpg; *.jpeg; *.bmp";
int Blue_threshold = 50; int Green_threshold = 50; int Red_threshold = 50; if (open.ShowDialog() == DialogResult.OK)
{
Image<bgr,Byte> img_colour = new Image<bgr,Byte>(open.FileName);
pictureBox1.Image = img_colour.ToBitmap(); img_colour = img_colour.ThresholdBinary(
new Bgr(Blue_threshold, Green_threshold, Red_threshold), new Bgr(255, 255, 255));
pictureBox2.Image = img_colour.ToBitmap();}