C#中利用emgucv的ImageBox()打开并显示一副图像

时间:2021-10-01 23:45:13

1、添加一个工具箱中的PictureBox到界面上。

C#中利用emgucv的ImageBox()打开并显示一副图像

2、在XXXXX.Designer.cs的Windows窗口设计器生成的代码段中找到刚刚添加的PictureBox控件的定义代码:

修改为:

这样就可以在主体程序中通过代码显示图像(Image、Mat)到这个控件上面。

3、添加一个文本框控件textBox用来显示图片路径,在属性中改成“只读”。

4、添加一个打开文件的控件openFileDialog。

5、添加一个用于打开图像的按钮,在对于调用函数中添加下面代码:

DialogResult result = openFileDialog1.ShowDialog(); if (result == DialogResult.OK || result == DialogResult.Yes) { textBox1.Text = openFileDialog1.FileName; }

上面代码中openFileDialog1和textBox1根据实际修改。

6、添加读入并显示图像的代码

public void PerformShapeDetection() { if (textBox1.Text != String.Empty)//判断文本框中地址是否为空 { StringBuilder msgBuilder = new StringBuilder("Performance: "); //Load the image from file and resize it for display Image < Bgr, byte > img = new Image<Bgr, byte>(textBox1.Text) .Resize(814, 539, Emgu.CV.CvEnum.Inter.Linear, true);//图像的大小由实际的控件大小决定 //Mat srcImg = CvInvoke.Imread(textBox1.Text); pictureBox1.Image = img;//显示图像到控件 this.Text = msgBuilder.ToString();

7、添加文本框控件中地址改变时,显示图像代码的调用代码。

private void textBox1_TextChanged(object sender, EventArgs e) { PerformShapeDetection(); }

this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);//在XXXXX.Designer.cs的Windows窗口设计器生成的代码段中

C#中利用emgucv的ImageBox()打开并显示一副图像