1.封装Opencv
函数映射 – Emgu.Cv.CvInvoke
CvInvoke 类使得C#语言可以直接调用Opencv函数。在这个类中的每个函数均对应于Opencv中的同名函数。举个例子:
IntPtr image = CvInvoke.cvCreateImage(new System.Drawing.Size(400, 300), CvEnum.IPL_DEPTH.IPL_DEPTH_8U, 1);
等价于下面这个在c中的调用:IplImage* image = cvCreateImage(cvSize(400, 300),IPL_DEPTH_8U, 1);
以上两者均创建一个400*300, 8-bit unsigned,grayscale 图像.
结构映射 Emgu.CV.Structure.Mxxx
这种结构类型对应于Opencv 中的结构:
Emgu CV Structure
OpenCV structure
Emgu.CV.Structure.MIplImage
IplImage
Emgu.CV.Structure.MCvMat
CvMat
... ...
Emgu.CV.Structure.Mxxxx xxxx
通过命名规则,我们可以发现Emgucv 中M 的后缀同Opencv 中的结构名相同。
Emgucv 还借用了一些.Net 中存在的结构来对应于Opencv 中的结构:
本文介绍了如何使用EmguCV封装OpenCV,包括CvInvoke函数映射、Structure.Mxxx结构映射、CvEnum枚举常量映射。详细讲解了EmguCV中Image类的使用,如通过Depth和Color作为泛型参数创建图像,从文件读取图像,以及内存管理中的自动垃圾回收机制。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



