使用winfrom+EmguCV进行图片的读取和保存

要使用EmguCV,首先需要去官网下载安装包(除了下载安装包,还有其他几种方式)。安装完成后,得配置环境变量。这里不再赘述。网上的教程很多。我这里分享一个官网的下载链接:https://sourceforge.net/projects/emgucv/files/emgucv/

这里使用窗体程序进行说明,首先新建个窗体

1.引用EmguCV的DLL:using Emgu.CV;using Emgu.CV.Structure;

使用winfrom+EmguCV进行图片的读取和保存_第1张图片

把Emgu.CV.UI这个类库拖到工具箱中,这样,我们就可以使用他的控件了。往窗体上拖一个imageBox控件(EmguCV控件而不是.NET控件)两个按钮(普通按钮)。

窗体完整代码如下:

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        Mat img;

        private void btnRead_Click(object sender, EventArgs e)
        {
            //方式一
            img = CvInvoke.Imread("1000.jpg");
            CvInvoke.Imshow("img", img);
            CvInvoke.WaitKey(0);

            //方式二
            //Image img = new Image("aa.jpg");//从文件加载图片
            //imageBox1.Image = img;
        }

        private void btnSave_Click(object sender, EventArgs e)
        {
            //方式一
            CvInvoke.Imwrite("new.jpg", img);
            MessageBox.Show("保存成功");

            //方式二
            //imageBox1.Image.Save(@"D:\new.jpg");
        }

我使用了两种方式进行读取和保存。但是只有方法一可以正常运行。第二种方式程序在 imageBox1.Image = img;这句话卡死了。我目前还没找到原因。但是第二种方式亲测可用。

 

你可能感兴趣的:(EmguCV)