EmguCV学习之例程详解(01):HelloWorld

又见HelloWorld,HelloWorld无处不在,呵呵

在开始之前,假设您已经准备好了libemgucv,如果没有,请先到sourceforge.net上找到它

关于如何配置EmguCV及自行编译,可以参考官方文档或者相关博客

可能的话,稍后我也会特别介绍如何编译(忘记记录编译过程了,其实也很简单的)


好了开始进入主题

新建项目(以VS2013为例):选择Visual C#的控制台应用程序,平台可根据编译的设置来选择(示例.NetFx4.0)

EmguCV学习之例程详解(01):HelloWorld_第1张图片


添加引用

EmguCV学习之例程详解(01):HelloWorld_第2张图片


浏览并选择Emgu.CV.dll  Emgu.CV.UI.dll   Emgu.Util.dll

EmguCV学习之例程详解(01):HelloWorld_第3张图片


完善代码并编译,运行结果可能会是下图这个样子

EmguCV学习之例程详解(01):HelloWorld_第4张图片


最后附上源代码及详细的注释

using System;
using System.Drawing; // Point,Size
using Emgu.CV;
using Emgu.CV.Structure; // Structure.Bgr, Structure.MCvFont
using Emgu.CV.CvEnum;  // CvEnum.FONT

namespace HelloWorld
{
    class Program
    {
        static void Main(string[] args)
        {
            // 新建窗体的名称(类名、标题)
            // 这个窗体与Console窗体不同,是一个独立的窗体
            string windowName="Hello World";

            // 等价于OpenCV 中的 cvNamedWindow/ namedWindow
            CvInvoke.cvNamedWindow(windowName);

            // 泛型(模板), RGB彩色图像, 每个通道用一个Byte表示
            // 初始化一个背景图像400*200大小,画刷颜色RGB(0,0,255)纯蓝色
            Image image = new Image(400, 200, new Bgr(255, 0, 0));

            // 创建字体,内置的script手写体,水平/垂直方向缩放比例为1.0和1.0
            MCvFont font = new MCvFont(FONT.CV_FONT_HERSHEY_SCRIPT_COMPLEX, 1.0, 1.0);

            // 在image图像上绘制消息字符串
            string message="Hello World";

            // 方法Draw的多个重载版本之一:绘制字符串,起始位置(10,80),颜色为纯白色
            image.Draw(message, ref font, new Point(10, 80), new Bgr(255, 255, 255));

            // 等价于cvShowImage/imshow
            CvInvoke.cvShowImage(windowName, image);

            // 等价于cvWaitKey/waitKey 等待按键输入,
            // waitKey(0)表示接受输入后立即返回(执行后续语句)
            CvInvoke.cvWaitKey(0);

            // 销毁窗口(销毁的是cvNamedWindow所创建的,而不是Console窗口)
           CvInvoke.cvDestroyWindow(windowName);
            // 销毁窗口后程序执行完毕退出(Console窗口也自然关闭了)
        }
    }
}

点此领取楼主

你可能感兴趣的:(OpenCV,EmguCV)