Emgu CV(OpenCV for C#)学习笔记(1)

本文记录了学习Emgu CV,即C#版OpenCV的过程。首先介绍了如何导入UI插件和添加引用,接着通过两个示例——利用窗口显示和ImageViewer类显示"Hello, World"图像,展示了Emgu CV的基本用法。" 17638069,10725,使用ZF tool安装与配置zend framework,"['PHP', 'zend framework', '开发工具']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想要自学机器视觉有关的知识,在网上摸索了好久,才了解到了OpenCV。但OpenCV开发环境是C++,可我只会点C#与VB。正琢磨学习C++,又了解到Emgu CV(OpenCV for C#),真是欣喜若狂。找到EmguCV入门指南,如奉至宝,赶紧依样画瓢,争取入门。为了加深记忆,在此做学习笔记。

下载Emgu CV安装以后,参考http://hi.baidu.com/mvp_xuan/item/144c6ddfebb1413de3108fd1,每次新建项目,应先导入UI插件,然后添加引用。具体方法如下:

导入UI插件:点击“工具(T)” -> “选择工具箱项(X)…” ,在新打开的窗口中选择:“.NET Framework组件”,点击“浏览”,到目录:C:\Emgu\emgucv-windows-x86 2.3.0.1416\bin下,双击Emgu.CV.UI.dll即可。

    看到如图四项之后,点击确定即可。

添加引用:右键单击“解决方案资源管理器”中刚才所建项目下的“引用”,选择“添加引用”;在新弹出的窗口中选择“浏览”,到安装目录:C:\Emgu\emgucv-windows-x86 2.3.0.1416\bin下,选择:Emgu.CV.dll、Emgu.CV.ML.dll、Emgu.CV.UI.dll、Emgu.Util.dll、ZedGraph.dll等共五个DLL文件,并点击确定加入。如下图所示即可:

现在开始示例学习。

第一个示例:Hello World in CSharp

Hello World - Version 1----这个是利用窗口显示Hello Word的例子。先新建窗口应用程序,删除Form1,在Program.cs中注释或删除行“Application.Run(new Form1());”,然后添加代码。如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
//增加
using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
using System.Drawing;
namespace Hello_World___Version_1
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            //Application.Run(new Form1());
            string win1 = "测试窗口";
            //创建测试窗口
            CvInvoke.cvNamedWindow(win1);
            //创建400*200的蓝色图像
            using (Image<Bgr, Byte> img = new Image<Bgr, byte>(400, 200, new Bgr(255, 0, 0)))
            {
                //文字
                MCvFont f = new MCvFont(FONT.CV_FONT_HERSHEY_COMPLEX, 1.0, 1.0);
                //用定义的文字在图上画"Hello,World."
                img.Draw("Hello,World.", ref f, new Point(10, 80), new Bgr(0, 255, 0));
                //显示图像
                CvInvoke.cvShowImage(win1, img.Ptr);
                //等待按键事件
                CvInvoke.cvWaitKey(0);
                //释放窗口
                CvInvoke.cvDestroyWindow(win1);
            }
        }
    }
}
运行后如下图:

 

Hello World - Version 2----用ImageViewer类显示图像。代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
//增加
using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
using Emgu.CV.UI;
using System.Drawing;
namespace Hello_World___Version_1
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            //Application.Run(new Form1());

            //创建400*200的蓝色图像
            using (Image<Bgr, Byte> img = new Image<Bgr, byte>(400, 200, new Bgr(255, 0, 0)))
            {
                //文字
                MCvFont f = new MCvFont(FONT.CV_FONT_HERSHEY_COMPLEX, 1.0, 1.0);

                //用定义的文字在图上画"Hello,World."
                img.Draw("Hello, world", ref f, new Point(10, 80), new Bgr(0, 255, 0));

                //用Emgu.CV.UI名称空间下的ImageViewer类显示图像
                ImageViewer.Show(img, "Test Window");
            }
        }
    }
}
运行后如下图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值