Matx

轻量级的Mat,必须在使用前规定好大小,比如一个2x3的float型的Matx,可以声明为Matx23f

Vec

Vec是Matx的一个派生类,是一个一维的Matx,跟vector很相似。在OpenCV源码中定义如下:

template<typename _TP, int n> class Vec : public Matx<_Tp, n, > {...};
typedef Vec<uchar, > 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=, 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 = , int thickness = , int line_type = )
// 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=, int lineType=LINE_8, int shift=);
// 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=, int lineType=LINE_8, int shift=)
// 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=, 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=, int lineType=LINE_8, int shift=)
// 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=, int lineType=LINE_8, int shift=) void cv::polylines (InputOutputArray img, InputArrayOfArrays pts, bool isClosed, const Scalar &color, int thickness=, int lineType=LINE_8, int shift=)
// 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=)

void cv::fillConvexPoly (InputOutputArray img, InputArray points, const Scalar &color, int lineType=LINE_8, int shift=)
// 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=, Point offset=Point()) void cv::fillPoly (InputOutputArray img, InputArrayOfArrays pts, const Scalar &color, int lineType=LINE_8, int shift=, Point offset=Point())
// Fills the area bounded by one or more polygons.

随机数生成器

class RNG;

Core模块其他常用知识点[OpenCV 笔记14]的更多相关文章

  1. 常用数据结构[OpenCV 笔记12]

    Point 二维坐标系下的整数点, 定义如下 typedef Point_<int> Point2i; typedef Point2i Point; typedef Point_<f ...

  2. 图像显示 imshow()[OpenCV 笔记5]

    void imshow(const string& winname InputArray mat); winname 窗口表识名称 mat 需要显示的图像.InputArray类型,声明如下 ...

  3. OpenCV基本架构[OpenCV 笔记0]

    最近正在系统学习OpenCV,将不定期发布笔记,主要按照毛星云的<OpenCV3编程入门>的顺序学习,会参考官方教程和文档.学习工具是Xcode+CMake,会对书中一部分内容更正,并加入 ...

  4. OpenCV Tricks[OpenCV 笔记3]

    官方例程 事例程序位于opencv-3.1.0/samples/cpp/ 目录下,可以通过编译整个工程,编译所有的Sample Code 显示当前使用的OpenCV版本 CV_VERSION为标识当前 ...

  5. 查找并绘制轮廓[OpenCV 笔记XX]

    好久没有更新了,原谅自己放了个假最近又在赶进度,所以...更新的内容是很靠后的第八章,因为最近工作要用就先跳了,后面会更新笔记编号...加油加油! 在二值图像中寻找轮廓 void cv::findCo ...

  6. 访问图像中的像素[OpenCV 笔记16]

    再更一发好久没更过的OpenCV,不过其实写到这个部分对计算机视觉算法有所了解的应该可以做到用什么查什么了,所以后面可能会更的慢一点吧,既然开了新坑,还是机器学习更有研究价值吧... 图像在内存中的存 ...

  7. 实例:图形绘制[OpenCV 笔记15]

    DrawShapes.cxx # include "DrawShapes_utils.h" #define WINDOW_NAME1 "Painting 1" ...

  8. 颜色空间转换 cvtColor()[OpenCV 笔记13]

    void cvtColor(InputArray src, OutputArray dst, ) src: 输入图像 dst: 输出图像 code: 颜色空间转换标识符 OpenCV2的CV_前缀宏命 ...

  9. 图像储存容器Mat[OpenCV 笔记11]

    IplImage 与 Mat IplImage是OpenCV1中的图像存储结构体,基于C接口创建.在退出之前必须release,否则就会造成内存泄露.在一些只能使用C语言的嵌入式系统中,不得不使用. ...

随机推荐

  1. ambari安装过程中的问题汇总

    今天重新安装ambari过程中,遇到了几个问题,耗费了我很长时间,在此记录一下 ambari重新安装可参考我之前的一篇随笔 http://www.cnblogs.com/6tian/p/4097401 ...

  2. Hadoop系列(一)hadoop2.2.0源码编译

    操作系统:Centos 所需条件:能上网 编译所需工具: apache-ant-1.9.2-bin.tar.gz apache-maven-3.0.5-bin.tar.gz findbugs-2.0. ...

  3. C# WinForm修改Panel边框颜色

    private void panel1_Paint(object sender, PaintEventArgs e) { ControlPaint.DrawBorder(e.Graphics, thi ...

  4. em与px之间的换算

    任意浏览器的默认字体高度16px(16像素).所有未经调整的浏览器都符合:1em=16px.那么12px=0.75em,10px=0.625em.为了简化font-size的换算,需要在css中的bo ...

  5. AtomicLong

    Spring package com.uniubi.management.controller; import java.util.concurrent.atomic.AtomicLong; impo ...

  6. iOS开发之地图代理不起作用(提示vImage decode failed, falling back to CG path.)

    项目中用到了地图相关的东西,就把曾经的demo搬了出来,结果发现直接执行之前的demo没有问题,在xcode5下新建项目再把代码粘贴过来就会提示 May 5 11:36:21 infomedia-iP ...

  7. myeclipse 写java代码提示 dead code 原因

    经常使用MyEclipse要么Eclipse编辑写java程序猿代码.您可能经常会遇到一个黄色警戒线:dead code:一般程序猿遇到这些问题都会置之不理,反正也不影响程序的编译运行.对,这不是bu ...

  8. 标准I/O的替代软件

    标准I/O并不完善. 标准I/O库的一个不足之处是效率不高,这与它需要复制的数据量有关.当使用每次一行函数fgets和fputs时,通常需要复制两次数据:一次是在内核和标准I/O缓冲之间(当调用rea ...

  9. 通过NSURLProtocol拦截HTTP转HTTPS来整合SPDY的记录

    众所周知,iOS 9.0之后苹果引入ATS限制,苹果也推荐尽量不要使用HTTP通讯了,毕竟是很不安全的.而国内各个有(wu)节操的运营商也会经常篡改请求HTTP请求.所以如果可能,在不影响性能的情况下 ...

  10. c#中[Flags] 枚举类型定义问题_百度知道

    [Flags]的微软解释是“指示可以将枚举作为位域(即一组标志)处理.”其实就是在编写枚举类型时,上面附上Flags特性后,用该枚举变量是既可以象整数一样进行按位的“|”或者按位的“&”操作了 ...