OpenCV图像处理库的跨平台:Emgu CV

描述

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包含视频稳定相关的类和函数。

图像处理

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分