【Emgu】一起学EmguCV(一)配置与使用

  首先先介绍一下OpenCV,OpenCV的全称是:Open Source Computer Vision Library,OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV 拥有包括 300 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。
  OpenCV中文学习站点 http://www.opencv.org.cn
 
  EmguCV是OpenCV的一个跨平台的.Net封装,由于OpenCV是用C和C++编写的,Emgu用C#对其进行封装,允许用.Net语言来调用OpenCV函数,如C#、VB、VC++等,同时该封装也可以被编译到Mono平台和允许在Windows、Mac OS、Android、iPhone、iPad等多个平台上运行
 
特性:
  Image class with Generic Color and Depth
  Automatic garbage collection(自动垃圾回收)
  Xml Serializable Image(用于网络)
  Image class / Direct invoke function from OpenCV(直接对OpenCV函数的invoke操作)
  Generic operations on image pixel(对像素操作)
 
接下来看看EmguCV的使用
  
1、到Emgu官方下载Emgu库 http://www.emgu.com
  这里使用的是   libemgucv-windows-universal-gpu-2.4.9.1847.exe (228.6 MB)
 
2、解压或安装完后得到下面文件
 
  先安装 vcredist_x86 (如果需要开发的是64位的程序,择安装x64版本,我是两个都装)
 
3、进入bin/x86文件夹
  图中框出来的是运行时所需要的依赖文件,在开发时,需要把这些文件复制到程序的Debug文件夹内,不然会抛出 TypeInitializerException 异常
 
 
4、有关Emgu相关的类都在bin文件夹里面
5、下面演示一下Hello World程序
  新建一个工程,引用两个库 
 
  引用命名控件,记得还要把上面框出来的OpenCV依赖文件复制到Debug目录下
        using Emgu.CV;
        using Emgu.CV.CvEnum;
        using Emgu.CV.Structure;

  添加一个按钮,一个PictureBox控件

 

        private void button1_Click(object sender, EventArgs e)
        {
            Image<Bgr, byte> img = new Image<Bgr, byte>(480, 320, new Bgr(0, 255, 0));

            MCvFont f = new MCvFont(FONT.CV_FONT_HERSHEY_TRIPLEX, 1.0, 1.0);
            img.Draw("hello world", ref f, new Point(10, 80), new Bgr(0, 0, 0));
            pictureBox1.Image = img.ToBitmap();
        }

 

 

 
 
posted @ 2013-03-28 09:59  bomo  阅读(...)  评论(...编辑  收藏