首页 > 代码库 > C#中利用emgucv的ImageBox()打开并显示一副图像

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

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

技术分享

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()打开并显示一副图像