Emgu学习之(一)——Emgu介绍
OpenCV
“OpenCV是一个开源的计算机视觉库。OpenCV采用C/C++语言编写,可以运行在Linux/Windows/Mac等操作系统上。OpenCV还提供了Python、Ruby、MATLAB以及其他语言的接口。
OpenCV的一个目标是构建一个简单易用的计算机视觉框架,以帮助开发人员更便捷地设计更复杂得计算机视觉相关应用程序。OpenCV包含的函数有500多个,覆盖了计算机视觉的许多应用
领域,如工厂产品检测、医学成像、信息安全、用户界面、摄像机标定、立体视觉和机器人等。”——《学习OpenCV(中文版)》
Emgu
Emgu CV是将OpenCV使用.net编程语言(C#)封装成的.net库,使用Emgu CV就可以在.net平台上调用OpenCV的功能,同时,Emgu CV也是开源的。
Emgu CV官网:http://www.emgu.com
从官网上你可以找到Emgu的最新版本、基础教程和在线API文档。在我写这篇文章时,Emgu发布的最新版本为Emgu.CV-3.0.0,如果从官方网站下载速度较慢,你可以从我的网盘下载,地
址为:http://pan.baidu.com/s/19haRO。下载得到的是一个名称为libemgucv-windows-universal-3.0.0.2157.exe的安装程序,安装完成后,在安装目录内如如图:
在Solution文件夹中有Visual Studio的项目文件,其中Example项目包括了Emgu的源代码和例程,这些例程包括形状检测、脸部检测、车牌检测、SURF特性匹配等非常丰富的示例,
具体示例项目如图:
新建项目
- 创建项目——我使用的Visual Studio Community 2015,因为是示例程序,所以在Visual Studio中创建一个简单的控制台项目,项目为Demo。
- 添加Emgu引用——从Emgu安装目录下的bin文件夹中添加库引用:
添加完成后,再在程序中(Program.cs)引用命名空间:
1 using Emgu.CV; 2 using Emgu.CV.CvEnum; 3 using Emgu.Util;
- 添加OpenCV库——从Emgu安装目录下的bin\x86(32位系统)文件夹中添加OpenCV库:
添加完成后需选中它们,然后右击设置其属性,将“复制到输出目录”属性为:如果较新则复制。
至此,我们就创建了一个可以使用Emgu的项目,在Program.cs中输入以下代码试试看是否能正常运行。
1 static void Main(string[] args) 2 { 3 var image = CvInvoke.Imread(@"D:\a.jpg", LoadImageType.Color); //从文件中读取图像 4 5 CvInvoke.NamedWindow("AJpg", NamedWindowType.Normal); //创建一个显示窗口 6 7 CvInvoke.Imshow("AJpg", image); //显示图片 8 9 CvInvoke.WaitKey(0); //等待按键输入 10 CvInvoke.DestroyWindow("AJpg"); 11 12 image.Dispose(); 13 }
运行效果: