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语言的嵌入式系统中,不得不使用. ...
随机推荐
- ural 1091. Tmutarakan Exams 和 codeforces 295 B. Greg and Graph
ural 1091 题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1091 题意是从1到n的集合里选出k个数,使得这些数满足gcd大于1 ...
- eclipse中的maven配置
1.下载最新版eclipse,包含maven版本 2.配置maven本地仓库(修改settings.xml)
- JBPM流程实例(PI)Process Instance
/** * 流程实例 * * 启动流程实例 * * 完成任务 * * 查询 * * 查询流程实例 * * 查询任务 * * 查询正在 ...
- 安装完Ubuntu 14.04要做的九件事
www.linuxidc.com/Linux/2014-04/100411.htm 1.看看有哪些新特性 安装完之后的第一件事肯定是看看Ubuntu 14.04有哪些新的特性. Ubuntu 14.0 ...
- wechat客户端修改
1. src/ui/adapter/FriendCardAdapter.java @Override public View getView(int position, View conver ...
- Objective-C中的占位符,打印BOOL类型数据
常用的一些占位符: %@:字符串占位符 %d:整型 %ld:长整型 %f:浮点型 %c:char类型 %%:%的占位符 尽管有那么多的占位符,但是好像没有发现BOOL型的数据的占位符,这也是比较纠结的 ...
- Default route and zero route
A default route of a computer that is participating in computer networking is the packet forwarding ...
- DHCPv6 server port and DHCPv6 client port
The DHCPv6 draft says that, the port numbers for client and agents are given as 546 & 547 在wires ...
- radio组件
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- 详解ExplosionField的使用,实现View的粉碎效果
小米平板卸载软件的时候,会有一个粉碎的效果,看起来很拉风,GitHub上有一个开源控件可以实现这个效果,我们一起来看看.先来看看效果图: 看起来不错吧,那我们今天就来详细说说ExplosionFiel ...