Emgu CV是OpenCV图像处理库的跨平台 .Net 包装器。允许从 .NET 兼容语言调用OpenCV函数。包装器可以由 Visual Studio 和 Unity 编译,它可以在 Windows、Linux、Mac OS、iOS 和 Android 上运行。
跨平台
Emgu CV完全用 C# 编写。它可以在 .net 支持的任何平台上运行,包括 iOS、Android、Mac OS X、Linux 和 Windows。与可以简单地包含头文件的托管 C++ 实现相比,由于必须移植头文件,因此为了获得纯 C# 实现付出了很多努力。但是如果您看到Emgu CV 在 Fedora 10 上运行,那是非常值得的!此外,知道您的代码是跨平台的,它总是让您感到安心。
跨语言并附带示例代码
Emgu CV可用于多种不同的语言,包括 C#、VB.NET、C++ 和 IronPython。在此 wiki 上,我们提供了所有这些语言的示例,可从教程页面的示例部分获得。如果您对您喜欢的编程语言有任何疑问,也可以使用我们的论坛。
其他优势
具有通用颜色和深度的图像类
自动垃圾收集
XML 可序列化图像
XML 文档和智能感知支持
选择使用Image 类或从OpenCV直接调用函数
对图像像素的通用操作
EmguCV中具有不同功能的类被分别归类放置在不同的命名空间下。
下面简单介绍几个常用的命名空间:
EmguCV中具有不同功能的类被分别归类放置在不同的命名空间下。
下面简单介绍几个常用的命名空间:
Emgu.CVOpenCV图像处理功能的包装,包括cv::String的包装器CvString类 ,基本图像处理函数CvInvoke类,相机响应校准CalibrateCRF类等。
Emgu.CV.CvInvoke该模块包括了基本的图像处理函数,像图像的读写、滤波、数学运算、颜色空间转换、形态学处理、仿射变换以及像素、对轮廓的操作等。
Emgu.CV.UI用于显示Image对象的用户界面(ImageBox)。
Emgu.CV.Structure该模块是OpenCV结构体的包装。相关的结构体诸如定义颜色相关的BGR、Gray、RGBA、LUV等;定义形状的CircleF、Ellipse、Cuboid等;
Emgu.CV.UtilEmgu.CV项目使用的一组实用程序,像各种类型(int、CvString、Mat、Point、Rect等)的C ++标准向量的包装类等。
Emgu.CV.Shape该模块包含了形状距离的算法,可用于形状匹配检索和形状比较。
Emgu.CV.Features2D该模块包含用于2D特征检测、提取和匹配的类。提供了KAZE、AKAZE、SIFT、SURF、Brisk、ORB等特征点。
Emgu.CV.Stitching该模块包含图像拼接相关的类。
Emgu.CV.CvEnum该模块包含了各种常用的OpenCV枚举,像字体类型、窗口类型、插值类型、阈值类型、PCA类型、轮廓近似类型、距离变换类型等等。
Emgu.CV.ML该模块是OpenCV机器学习库的包装,包括ANN、DTrees、SVM、RTrees、EM算法等常用的机器学习模型。
Emgu.CV.ML.MlEnum该模块是OpenCV机器学习枚举,包括变量类型、Boost类型、Boost分裂标准等机器学习枚举。
Emgu.CV.Face该模块包含人脸识别相关的类和结构体。
Emgu.CV.Cuda包含了NVidia Cuda图像处理相关的函数。
Emgu.CV.BgSegm背景分割先关的类,提供了基于GMG、MOG的两种分割方法。
Emgu.CV.OCR光学字符识别,包括tesseract-ocr引擎。
Emgu.CV.Text包括自然场景图像中的文本检测和识别算法。
Emgu.CV.VideoStab包含视频稳定相关的类和函数。
全部0条评论
快来发表一下你的评论吧 !