Emgu学习之(一)——Emgu介绍
来源:互联网 发布:php参考手册 编辑:程序博客网 时间:2024/05/20 08:41
此内容为转载,详细访问http://www.cnblogs.com/CoverCat/p/5003363.html
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 }
运行效果:
- Emgu学习之(一)——Emgu介绍
- Emgu.CV学习(一) 介绍与安装
- Emgu.CV OpenCV 学习之路(一)
- Emgu学习笔记(三)----Emgu使用技巧简单汇总
- Emgu.CV OpenCV 学习之路(二)
- c# OpenCV Emgu学习
- 【Emgu】一起学EmguCV(一)配置与使用
- 【Emgu】一起学EmguCV(一)配置与使用
- Emgu CV(OpenCV for C#)学习笔记(1)
- Emgu CV(OpenCV for C#)学习笔记(2)
- Emgu CV(OpenCV for C#)学习笔记(3)
- Emgu学习笔记(四)---Canny、线检测、圆检测
- 关于EMGU CV的那些事——1.环境搭建(win8 vs2012 emgucv3.0)
- 关于EMGU CV的那些事——2.摄像头捕捉(RGB and GRAY)
- 关于EMGU CV的那些事——1.环境搭建(win8 vs2012 emgucv3.0)
- emgu 配置
- EMGU OCR
- C# OPenCV(Emgu) (转载加编辑)
- 【项目管理和构建】——Maven简介(一)Maven是什么,以及为什么要使用Maven
- python邮件发送
- Android开发小技巧
- python 获取当前函数的 函数名 sys._getframe().f_code.co_name
- dbutils
- Emgu学习之(一)——Emgu介绍
- Z-function的构造与应用
- 发送有序广播
- 【算法题】快速排序
- Python+Selenium使用Page Object实现页面自动化测试
- python 获取当前 py 文件 的文件名 os.path.basename(sys.argv[0]).split(".")[0]
- Android中AIDL的基本用法
- 深入了解android平台的jni(二)
- 五大机器学习微信公众号推荐