Matx
轻量级的Mat,必须在使用前规定好大小,比如一个2x3的float型的Matx,可以声明为Matx23f
Vec
Vec是Matx的一个派生类,是一个一维的Matx,跟vector很相似。在OpenCV源码中定义如下:
template<typename _TP, int n> class Vec : public Matx<_Tp, n, 1> {...}; typedef Vec<uchar, 2> Vec2b;
Range
使OpenCV的使用更像MATLAB, Range::all()等同于MATLAB的:,Range(a,b)等同于MATLAB的a:b,其中a, b为整型
内存溢出
防止内存溢出的函数有alignPtr, alignSize, allocate, deallocate, fastMalloc, fastFree
math.h函数
float cv::fastAtan2 ( float y, float x ); // 计算向量角度 float cv::cubeRoot (float val); // 计算立方根 int cvCeil (double value); int cvCeil (float value); int cvCeil (int value); // 向上取整 int cvFloor (double value); int cvFloor (float value); int cvFloor (int value); // 向下取整 int cvRound (double value) int cvRound (float value) int cvRound (int value) // 四舍五入 int cvIsInf (double value); int cvIsInf (float value); // 自变量是否无穷大 int cvIsNaN (double value); int cvIsNaN (float value); // 自变量是否为NaN
文字显示函数
Size cv::getTextSize( const String & text, int fontFace, double fontScale, int thickness, int * baseLine ); // Calculates the width and height of a text string. // baseLine: y-coordinate of the baseline relative to the bottom-most text point. void cv::putText (InputOutputArray img, const String &text, Point org, int fontFace, double fontScale, Scalar color, int thickness=1, int lineType=LINE_8, bool bottomLeftOrigin=false) // Renders the specified text string in the image. void cvInitFont( CvFont * font, int font_face, double hscale, double vscale, double shear = 0, int thickness = 1, int line_type = 8 ) // Initializes the font structure that can be passed to text rendering functions.
作图函数
可参考链接
void cv::circle (InputOutputArray img, Point center, int radius, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0); // Draw a circle. bool cv::clipLine (Size imgSize, Point &pt1, Point &pt2) // Clips the line against the image rectangle. void cv::ellipse (InputOutputArray img, Point center, Size axes, double angle, double startAngle, double endAngle, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0) // Draws a simple or thick elliptic arc or fills an ellipse sector. void cv::ellipse (InputOutputArray img, const RotatedRect &box, const Scalar &color, int thickness=1, int lineType=LINE_8) void cv::ellipse2Poly (Point center, Size axes, int angle, int arcStart, int arcEnd, int delta, std::vector< Point > &pts) // Approximates an elliptic arc with a polyline. void cv::line (InputOutputArray img, Point pt1, Point pt2, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0) // Draws a line segment connecting two points. void cv::polylines (Mat &img, const Point *const *pts, const int *npts, int ncontours, bool isClosed, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0) void cv::polylines (InputOutputArray img, InputArrayOfArrays pts, bool isClosed, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0) // Draws several polygonal curves. class cv::LineIterator;
填充函数
void cv::fillConvexPoly (Mat &img, const Point *pts, int npts, const Scalar &color, int lineType=LINE_8, int shift=0) void cv::fillConvexPoly (InputOutputArray img, InputArray points, const Scalar &color, int lineType=LINE_8, int shift=0) // Fills a convex polygon. void cv::fillPoly (Mat &img, const Point **pts, const int *npts, int ncontours, const Scalar &color, int lineType=LINE_8, int shift=0, Point offset=Point()) void cv::fillPoly (InputOutputArray img, InputArrayOfArrays pts, const Scalar &color, int lineType=LINE_8, int shift=0, Point offset=Point()) // Fills the area bounded by one or more polygons.
随机数生成器
class RNG;
时间: 2024-11-02 01:44:26