opencvsharp在窗体里读入一张图片,进行图片处理后显示到另一个picturebox里的详细代码
时间: 2024-03-03 07:50:20 浏览: 60
OpenCvSharp与Picturebox实现图片打开、读取、灰度转换与保存
以下是使用OpenCvSharp在窗体里读入一张图片,进行图片处理后显示到另一个PictureBox里的详细代码:
首先,在窗体中添加两个PictureBox控件,分别命名为pictureBox1和pictureBox2。
然后,在窗体的代码中,添加以下代码:
```csharp
using OpenCvSharp;
private void button1_Click(object sender, EventArgs e)
{
// 打开文件对话框,选择图像文件
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Image Files(*.jpg;*.jpeg;*.png;*.bmp)|*.jpg;*.jpeg;*.png;*.bmp";
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
// 读取图像
Mat image = Cv2.ImRead(openFileDialog.FileName);
// 对图像进行处理
Mat gray = new Mat();
Cv2.CvtColor(image, gray, ColorConversionCodes.BGR2GRAY);
// 显示原图和处理后的图像
Bitmap bitmap1 = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(image);
Bitmap bitmap2 = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(gray);
pictureBox1.Image = bitmap1;
pictureBox2.Image = bitmap2;
}
}
```
当用户点击按钮时,将会打开文件对话框,用户可以选择一个图像文件。然后,使用OpenCvSharp读取图像文件,并进行处理。最后,将原图和处理后的图像分别显示在pictureBox1和pictureBox2中。
需要注意的是,为了在pictureBox中显示Mat类型的图像,我们需要使用OpenCvSharp.Extensions.BitmapConverter.ToBitmap()方法将Mat类型的图像转换为Bitmap类型的图像。
阅读全文