OpenCv中的 C 结构 OpenCV中的 C++ 封装 Emgu.CV中的 C# 封装

OpenCV 和 Emgu.CV 中的结构罗列

谢谢阅读,有误希望指正

原文地址

Basic Structures: main data structures used in opencv.

CvPoint 
CvPoint2D32f 
CvPoint2D64f 
CvPoint3D32f 
CvPoint3D64f

Point_<typename _Tp> 
Point3_<typename _Tp> 
Point_<int>(Point2i, Point) 
Point_<float>(Point2f) 
Point_<double>(Point2d) 
Point3_<float>(Point3f) 
Point3_<double>(Point3d) 
Point3_<int>(Point3i)

System.Drawing.Point 
System.Drawing.PointF 
MCvPoint2D64f 
MCvPoint3D32f 
MCvPoint3D64f

CvSize 
CvSize2D32f 
Size_<typename _Tp> 
Size_<int>(Size, Size2i) 
Size_<float>(Size2f) 
System.Drawing.Size 
System.Drawing.SizeF 
CvRect  Rect_<typename _Tp> 
Rect_<int>(Rect) 
System.Drawing.Rectangle 
CvScalar 
(A container for 1-,2-,3-or4-tuples of doubles)
Scalar_<typename _Tp> 
Scalar_<double>(Scalar) 
(:public Vec<_Tp, 4>) 
(Scalar is widely used to pass pixel values)
MCvScalar

CvBox2D RotatedRect MCvBox2D
CvMat 
(A multi-channel dense matrix) – obsolete
Mat MCvMat 
MCvHistogram 
Matrix<TDepath>(wrapper)
CvMatND 
(Multi-dimensional dense multi-channel array) – obsolete
MCvMatND 
MatND<TDepth>(wrapper)
IplImage MIplImage 
Image<TColor, TDepth>(wrapper)
CvSparseMat SparseMat SparseMatrix<TDepath>(wrapper)
CvArr 
(“metatype”only used as function parameter)
InputArray 
OutputArray
CvArray<TDepth>(wrapper)
CvTermCriteria 
(Termination criteria for iterative algorithms)
TermCriteria MCvTermCriteria
Dynamic Structures: for creating growable sequences and other dynamic data structures allocated in CvMemStorage. If you use the new C++, Python, Java etc interface, you will unlikely need this functionality. Use std::vector or other high-level data structures instead.
CvMemStorage MemStorage MemStorage(wrapper)
CvMemBlock    
CvMemStoragePos    
CvSeq Seq<typename _Tp> MCvSeq 
Seq<T>(wrapper)
CvSlice Range MCvSlice
CvSet 
(derived from CvSeq)
  MCvSet
CvGraph 
(derived from CvSet)
   
CvGraphScanner 
(used for depth-first graph traversal)
   
CvTreeNodeIterator 
(used to traverse trees of sequences)
   
Extra C++ Basic Structures: some basic structures in C++ version.
Matx<typename _Tp, int m, int n> 
typedef Matx<float, 1, 2> Matx12f; 
typedef Matx<double, 6, 6> Matx66d; 
...
Vec<typename _Tp, int n> (:public Matx<_Tp, n, 1>) 
typedef Vec<uchar, 2> Vec2b; 
typedef Vec<short, 4> Vec4s; 
typedef Vec<int, 3> Vec3i; 
...float,double...
Ptr<typename _Tp> 
for smart reference-counting pointers
MatExpr

Matrix Expressions: (Mat A, B; Scalar s; double alpha)

  • Addition, substraction, negation: A + B, A - B, A + s, A - s, s - A, -A
  • Scaling: A * alpha
  • Per-element multiplication and division: A.mul(B), A/B, alpha/A
  • Matrix multiplication: A*B
  • Transposition: A.t() (means AT)
  • Matrix inversion and pseudo-inversion, solving linear systems and least-squares problems: A.inv([method]) (~ A-1) , A.inv([method])*B (~ X: AX=B)
  • Comparison: A cmpop B, A cmpop alpha, alpha cmpop A, where cmpop is one of : >, >=, ==, !=, <=, <. The result of comparison is an 8-bit single channel mask whose elements are set to 255 (if the particular element or pair of elements satisfy the condition) or 0.
  • Bitwise logical operations: A logicop B, A logicop s, s logicop A, ~A, where logicop is one of : &, |, ^.
  • Element-wise minimum and maximum: min(A, B), min(A, alpha), max(A, B), max(A, alpha)
  • Element-wise absolute value: abs(A)
  • Cross-product, dot-product: A.cross(B) A.dot(B)
  • Any function of matrix or matrices and scalars that returns a matrix or a scalar, such as norm, mean, sum, countNonZero, trace, determinant, repeat, and others.
  • Matrix initializers ( Mat::eye(), Mat::zeros(), Mat::ones() ), matrix comma-separated initializers, matrix constructors and operators that extract sub-matrices (see Mat description).
  • Mat_<destination_type>() constructors to cast the result to the proper type.

OpenCV中的结构体、类与Emgu.CV的对应表的更多相关文章

  1. C#中的结构体与类的区别

    经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自己总结一下,希望大家指点. 1. 首先是语法定义上的区别啦,这个就不用多说了.定义类使用关键字class 定义结构使用关键字str ...

  2. 浅析C#中的结构体和类

    类和结构是 .NET Framework 中的常规类型系统的两种基本构造. 两者在本质上都属于数据结构.封装着一组总体作为一个逻辑单位的数据和行为. 数据和行为是该类或结构的"成员" ...

  3. C#中的结构体与类的区别 (转载)

    经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自己总结一下,希望大家指点. 1. 首先是语法定义上的区别啦,这个就不用多说了.定义类使用关键字class 定义结构使用关键字str ...

  4. [转]C#中的结构体与类的区别

    C#中的结构体与类的区别   经常听到有朋友在讨论C#中的结构与类有什么区别.正好这几日闲来无事,自己总结一下,希望大家指点. 1. 首先是语法定义上的区别啦,这个就不用多说了.定义类使用关键字cla ...

  5. C++中的结构体

    http://zhidao.baidu.com/link?url=8OYQSKV9mvSBc6Hkf9NsLQmipSge9VCZDJQGAZZs5PCBQ54UTmK98VRmAklEEAFYu7d ...

  6. C/C++中的结构体

    结构体定义 结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构.   结构体作用 结构体和其他类型基础数据类型一样,例如int类型,char类型 只不过结构体可以做成 ...

  7. C语言中的结构体和C++中的结构体以及C++中类的区别

    c++中结构体可以定义一个函数 C中的结构体和C++中结构体的不同之处:在C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数. C++中的结构体和类的异同: 一. ...

  8. C++中的结构体的认识

    C++中的结构体的认识 1. typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间. 实例像:typedef ...

  9. Go中的结构体

    前面我们或多或少的都使用了结构体这种数据结构,本身结构体也有很多特性,我们一一来看. 结构体的作用是将一个或者多个任一类型的变量组合在一起的数据类型,类似于我们在Java中class的作用.在结构体重 ...

随机推荐

  1. struts2 之 Action的优化配置

    总结:struts2种action的配置文件会随着业务的增加而增加,导致配置文件膨胀.struts2中提供了三种方案来解决这个问题: 1. 动态方法调用来实现. 2. 通配符配置来解决. 3. 使用注 ...

  2. python scrapy 抓取脚本之家文章(scrapy 入门使用简介)

    老早之前就听说过python的scrapy.这是一个分布式爬虫的框架,可以让你轻松写出高性能的分布式异步爬虫.使用框架的最大好处当然就是不同重复造轮子了,因为有很多东西框架当中都有了,直接拿过来使用就 ...

  3. SQL基础函数

    首先咱们一起来看一下SQL的基本函数 一.聚合函数 二.数学函数 三.字符串函数 四.转换函数 五.时间函数 这样子看起来可能很多,那咱们给变得---------------------------- ...

  4. openssl命令行-证书认证

      命令1: openssl genrsa -out root.key 1024 产生一个root.key的私钥 命令2: openssl req -key root.key -new -out ro ...

  5. 简谈-Python的注释、变量类型、标识符及关键字

    在Python程序中,要想支持中文输出,则要在代码前面添加 标识符:开发人员在程序中自定义的一些符号和名称 标示符是自己定义的,如变量名 .函数名等 标识符的规则:  标示符由字目.下划线和数字组成, ...

  6. 分分钟带你玩转 Web Services【2】CXF

    在实践中一直在使用 JAX-WS 构建 WebService 服务,服务还是非常稳定.高效的. 但还是比较好奇其他的 WebService 开源框架,比如:CXF/Axis2/Spring WS等. ...

  7. bzoj1487 [HNOI2009]无归岛

    Description Neverland是个神奇的地方,它由一些岛屿环形排列组成,每个岛上都生活着之中与众不同的物种.但是这些物种都有一个共同的生活习性:对于同一个岛 上的任意两个生物,他们有且仅有 ...

  8. MySQL 的Coalesce函数

    今天用到了coalesce 函数,原因在于,我想要查找合同到期日的字段是否有值(因为合同到期日分3个字段,对应着不同的日期) select coalesce(contract_date1,contra ...

  9. Java Web实现IOC控制反转之依赖注入

    控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心. 控制反转一般分为两种类型,依赖注入 ...

  10. 取消input默认样式

    有时候input在页面中被聚焦后会出现默认的边框样式,可以通过以下方法取消去除 .input:focus{ outline: none;}