Core模块其他常用知识点[OpenCV 笔记14]
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]的更多相关文章
- 常用数据结构[OpenCV 笔记12]
Point 二维坐标系下的整数点, 定义如下 typedef Point_<int> Point2i; typedef Point2i Point; typedef Point_<f ...
- 图像显示 imshow()[OpenCV 笔记5]
void imshow(const string& winname InputArray mat); winname 窗口表识名称 mat 需要显示的图像.InputArray类型,声明如下 ...
- OpenCV基本架构[OpenCV 笔记0]
最近正在系统学习OpenCV,将不定期发布笔记,主要按照毛星云的<OpenCV3编程入门>的顺序学习,会参考官方教程和文档.学习工具是Xcode+CMake,会对书中一部分内容更正,并加入 ...
- OpenCV Tricks[OpenCV 笔记3]
官方例程 事例程序位于opencv-3.1.0/samples/cpp/ 目录下,可以通过编译整个工程,编译所有的Sample Code 显示当前使用的OpenCV版本 CV_VERSION为标识当前 ...
- 查找并绘制轮廓[OpenCV 笔记XX]
好久没有更新了,原谅自己放了个假最近又在赶进度,所以...更新的内容是很靠后的第八章,因为最近工作要用就先跳了,后面会更新笔记编号...加油加油! 在二值图像中寻找轮廓 void cv::findCo ...
- 访问图像中的像素[OpenCV 笔记16]
再更一发好久没更过的OpenCV,不过其实写到这个部分对计算机视觉算法有所了解的应该可以做到用什么查什么了,所以后面可能会更的慢一点吧,既然开了新坑,还是机器学习更有研究价值吧... 图像在内存中的存 ...
- 实例:图形绘制[OpenCV 笔记15]
DrawShapes.cxx # include "DrawShapes_utils.h" #define WINDOW_NAME1 "Painting 1" ...
- 颜色空间转换 cvtColor()[OpenCV 笔记13]
void cvtColor(InputArray src, OutputArray dst, ) src: 输入图像 dst: 输出图像 code: 颜色空间转换标识符 OpenCV2的CV_前缀宏命 ...
- 图像储存容器Mat[OpenCV 笔记11]
IplImage 与 Mat IplImage是OpenCV1中的图像存储结构体,基于C接口创建.在退出之前必须release,否则就会造成内存泄露.在一些只能使用C语言的嵌入式系统中,不得不使用. ...
随机推荐
- 【Java基础】成员变量和局部变量的区别
在类中的位置不同 成员变量:在类内部方法外部 局部变量:在方法体内部定义的或者方法的参数中定义的在内存中的位置不同 成员变量:在堆内存,有初始化值,byte,short,int,long->0, ...
- algorithm@ Matrix fast power
一. 什么是快速幂: 快速幂顾名思义,就是快速算某个数的多少次幂.其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高.一般一个矩阵的n次方,我们会通过连乘n-1次来得到它的n次 ...
- 注册表-在IE上永久显示我的名字"www.baidu.com - 朱建强"
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\新建字符串 名为:window title值为:"朱建强"
- mongodb的固定集合(优化效率)
mongodb固定集合(Capped Collection)和大文件管理(GridFS) Capped Collection 固定集合(Capped Collection)是性能出色的有着固定 ...
- poj 3469 Dual Core CPU【求最小割容量】
Dual Core CPU Time Limit: 15000MS Memory Limit: 131072K Total Submissions: 21453 Accepted: 9297 ...
- poj 1144 Network【双连通分量求割点总数】
Network Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11042 Accepted: 5100 Descript ...
- 分布式助手Zookeeper(二)
分布式助手Zookeeper(二)博客分类: Zookeeper zookeeperzookeeper的安装和配置观察者observer 散仙在上篇文章介绍了,zookeeper的一系列基础知识,如果 ...
- java对空格的处理
public static void main(String[] args) { // TODO Auto-generated method stub String a = " 这个前面有两 ...
- android 模拟器定在了任务栏出不来了
系统 任务栏上显示了正在运行的模拟器,但是点击它,始终看不到模拟器显示出来.用Alt + Tab 切换也不行 按照网上的说法 1.重新建一个模拟器,名字变一下 2.找到模拟器对应的配置文件,路径不管, ...
- Cocos2d-x之Touch事件处理机制
一.两种机制的四种不同的事件 CCStandardTouchDelegate 默认事件 virtual void ccTouchesBegan(CCSet *pTouches, CCEvent * ...