0
- 下边是我设计的一个简单的的Windows窗口。
- 通过这个窗口,单击“Load Image”按钮时,加载原始图像。我使用了2张含椒盐噪声的图像来展示输出效果。
private void button1_Click_1(object sender, EventArgs e)
{
p.LoadOriginalImage(ofd.FileName);
pictureBox1.ImageLocation = "3bSave.png";
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox4.ImageLocation = "3cSave.png";
pictureBox4.SizeMode = PictureBoxSizeMode.StretchImage;
}
这段代码可以加载图像到图片框中。在此之前,我们需要在
preprocessing.cs
文件中创建LoadOrginalImage(string fname)
函数。所以,我们要在加载按钮中调用此函数。通过
Cv.LoadImage()
函数加载原始图像。然后使用Cv.SaveImage()
保存原始图像的副本,并将该副本加载到图片框中。
public void LoadOriginalImage(string fname)
{
srcImage = Cv.LoadImage("3b.png", LoadMode.Color);
Cv.SaveImage("3bSave.png", srcImage);
srcImage2 = Cv.LoadImage("3c.png", LoadMode.Color);
Cv.SaveImage("3cSave.png", srcImage2);
}
- 之后,单击“Salt and pepper noise”按钮,它将删除椒盐噪声并加载清晰的图像。
public void SaltPepperFilter()
{
SaltPepper = Cv.CreateImage(srcImage.Size, BitDepth.U8, 3);
Cv.Smooth(srcImage, SaltPepper, SmoothType.Median, 3, 3);
Cv.SaveImage("3bSaltPepper.png", SaltPepper);
Cv.Smooth(srcImage2, SaltPepper, SmoothType.Median, 3, 3);
Cv.SaveImage("3cSaltPepper.png", SaltPepper);
}
在
preprocessing.cs
文件中创建SaltPepperFilter()
函数,使用Cv.Smooth()
消除噪声。之后,我们还必须在openCV中调用Cv.SaveImage()
保存输出图像。在这里,我们使用Cv.Smooth()
函数对图像进行平滑处理。在“Salt and Pepper noise”按钮中,我们必须调用
SaltPepperFilter()
函数。保存的图像通过单击“Salt and Pepper noise”按钮加载到图片框中。下面的代码将显示如何将图像加载到图片框中。
private void button2_Click(object sender, EventArgs e)
{
p.SaltPepperFilter();
pictureBox2.ImageLocation = "3bSaltPepper.png";
pictureBox2.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox3.ImageLocation = "3cSaltPepper.png";
pictureBox3.SizeMode = PictureBoxSizeMode.StretchImage;
}
收藏