OpenCv中的 C 结构 | OpenCV中的 C++ 封装 | Emgu.CV中的 C# 封装 |
---|---|---|
OpenCV 和 Emgu.CV 中的结构罗列 谢谢阅读,有误希望指正 |
||
Basic Structures: main data structures used in opencv. | ||
CvPoint |
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 |
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)
|
相关文章
- 基于C++类和指针实现二叉树1、二叉树的定义 二叉树(Binary Tree)是一种特殊的树型结构,每个节点至多有两棵子树,且二叉树的子树有左右之分,次序不能颠倒。 由定义可知,二叉树中不存在度(结点拥有的子树数目)大于2的节点。二叉树形状如下下图所示:2、二叉树的性质(1)在二叉树中的第i层上至多有2^(i-1)个结点(i>=1)。备注:^表示此方(2)深度为k的二叉树至多有2^k-1个节点(k>=1)。(3)对任何一棵二叉树T,如果其终端结点数目为n0,度为2的节点数目为n2,则n0=n2+1。满二叉树:深度为k且具有2^k-1个结点的二叉树。即满二叉树中的每一层上的结点数都是最大的结点数。完全二叉树:深度为k具有n个结点的二叉树,当且仅当每一个结点与深度为k的满二叉树中的编号从1至n的结点一一对应。可以得到一般结论:满二叉树和完全二叉树是两种特殊形态的二叉树,满二叉树肯定是完全二叉树,但完全二叉树不不一定是满二叉树。举例如下图是所示:(4)具有n个节点的完全二叉树的深度为log2n+ 1
- C++中类与结构体的区别
- C++中结构体与C的结构体、及C++类的区别
- C++中结构体与类的区别
- Swift中的类class与结构体struct体学习笔记
- OpenCV中的结构体、类与Emgu.CV的对应表