vs窗体点击button图片高斯滤波c#
时间: 2023-07-05 18:36:48 浏览: 102
在C#中,您可以使用Emgu CV库来实现高斯滤波。以下是一个简单的示例代码段,可以在VS窗体中使用按钮点击事件来触发高斯滤波:
```c#
using Emgu.CV;
using Emgu.CV.Structure;
Image<Bgr, byte> srcImg, dstImg;
double sigma = 1.5;
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openDlg = new OpenFileDialog();
openDlg.Title = "Open Image";
if (openDlg.ShowDialog() == DialogResult.OK)
{
srcImg = new Image<Bgr, byte>(openDlg.FileName);
dstImg = srcImg.Clone();
pictureBox1.Image = dstImg.ToBitmap();
}
}
private void trackBar1_Scroll(object sender, EventArgs e)
{
sigma = (double)trackBar1.Value / 10.0;
CvInvoke.GaussianBlur(srcImg, dstImg, new Size(0, 0), sigma, sigma);
pictureBox1.Image = dstImg.ToBitmap();
}
```
在此示例中,我们使用了一个名为“OpenFileDialog”的对话框来选择输入图像文件。我们创建了一个名为“pictureBox1”的窗口,用于显示输入和输出图像。我们还创建了一个滑动条来控制高斯核的大小。在按钮点击事件中,我们使用GaussianBlur函数来应用高斯滤波,并在窗口中显示结果。
请注意,此示例仅适用于处理BGR格式的图像。如果您要处理其他格式的图像,请相应地更改代码。
阅读全文