opencv的类型和方法在不同语言中的对应关系



转载请注明:http://blog.csdn.net/yimingsilence/article/details/50382349

Basic Structures

main data structures used in opencv.

OpenCV中的 C 结构

OpenCV中的 C++ 封装

EmguCV中的 C# 封装



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
CvBox2DRotatedRectMCvBox2D
CvMat (A multi-channel dense matrix)MatMCvMat
MCvHistogram
Matrix<TDepath>
CvMatND (Multi-dimensional dense multi-channel array)MatMCvMatND
MatND<TDepth>
IplImageMatMIplImage
Image<TColor, TDepth>
CvSparseMatSparseMatSparseMatrix<TDepath>
CvArr (“metatype”only used as function parameter)InputArray
OutputArray
CvArray<TDepth>
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.

OpenCv中的 C 结构
OpenCV中的 C++ 封装
Emgu.CV中的 C# 封装
CvMemStorageMemStorageMemStorage
CvMemBlock  
CvMemStoragePos  
CvSeqSeq<typename _Tp>MCvSeq
Seq<T>
CvSliceRangeMCvSlice
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

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.
  • 转载请注明:http://blog.csdn.net/yimingsilence/article/details/50382349

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值