OpenCV常用数据类型
Point 二维点坐标(x,y)
typedef Point3_<int> Point3i;
typedef Point3_<float> Point3f;
typedef Point3_<double> Point3d;
Point3 3维点坐标(x,y,z)
typedef Point_<int> Point2i;
typedef Point2i Point;
typedef Point_<float> Point2f;
typedef Point_<double> Point2d;
Size_ 尺寸(width, height)
typedef Size_<int> Size2i;
typedef Size2i Size;
typedef Size_<float> Size2f;
Rect_ 矩形区域(x,y,width,height) ,(x,y)左上角坐标, 范围[x, x + width), [y, y + height)
rect = rect ± point //矩形偏移(shifting a rectangle by a certain offset)
rect = rect ± size //改变大小(expanding or shrinking a rectangle by a certain amount)
rect += point, rect -= point, rect += size, rect -= size //(augmenting operations)
rect = rect1 & rect2 //矩形交集(rectangle intersection)
rect = rect1 | rect2 //包含r1r2的最小矩形(minimum area rectangle containing rect2 and rect3 )
rect &= rect1, rect |= rect1 //(and the corresponding augmenting operations)
rect == rect1, rect != rect1 //(rectangle comparison)
RotatedRect 旋转矩形
// p中心点(不是左上角坐标),size尺寸,angle旋转角度
RotatedRect::RotatedRect(const Point2f& p, const Size2f& size, float angle)
RotatedRect rRect = RotatedRect(Point2f(,), Size2f(,), );
Matx 小矩阵
template<typename_Tp, int m, int n> class Matx {...};
typedef Matx<float, , > Matx12f;
typedef Matx<double, , > Matx12d;
...
typedef Matx<float, , > Matx16f;
typedef Matx<double, , > Matx16d;
typedef Matx<float, , > Matx21f;
typedef Matx<double, , > Matx21d;
...
typedef Matx<float, , > Matx61f;
typedef Matx<double, , > Matx61d;
typedef Matx<float, , > Matx22f;
typedef Matx<double, , > Matx22d;
...
typedef Matx<float, , > Matx66f;
typedef Matx<double, , > Matx66d; Matx33f m(, , ,
, , ,
, , );
cout << sum(Mat(m*m.t())) << endl;//Matx转化为Mat
Vec 短向量,基于Matx
template<typename_Tp, int n> class Vec : public Matx<_Tp, n, > {...};
typedef Vec<uchar, > Vec2b;
typedef Vec<uchar, > Vec3b;
typedef Vec<uchar, > Vec4b;
typedef Vec<short, > Vec2s;
typedef Vec<short, > Vec3s;
typedef Vec<short, > Vec4s;
typedef Vec<int, > Vec2i;
typedef Vec<int, > Vec3i;
typedef Vec<int, > Vec4i;
typedef Vec<float, > Vec2f;
typedef Vec<float, > Vec3f;
typedef Vec<float, > Vec4f;
typedef Vec<float, > Vec6f;
typedef Vec<double, > Vec2d;
typedef Vec<double, > Vec3d;
typedef Vec<double, > Vec4d;
typedef Vec<double, > Vec6d;
Scalar_ 四维向量
template<typename_Tp> class Scalar_: public Vec<_Tp, > { ... };
typedef Scalar_<double> Scalar;
Range 范围,(start, end)
Mat m(,,CV32F);
Mat part = m(Range::all(), Range(, )); // 相当于matlab的m(:, 20 : 199)
Mat 矩阵结构
Mat img;
img.data //数据区域的指针
img.dims //矩阵维度
img.sizes //维度
img.elemSize() //每个元素占的字节空间大小,与元素类型相关,如CV_8U
img.step[] //用来计算元素地址, M.step[i] 表示所有比i大的维度所占空间大小
img.step[i] >= M.step[i+1]*img.sizes[i+1];
OpenCV常用数据类型的更多相关文章
- Opencv基本数据类型
1.OpenCV中数据类型和常用数据类型对应 Mat<uchar> CV_8U Mat<char> ...
- NoSQL初探之人人都爱Redis:(2)Redis API与常用数据类型简介
一.Redis API For .Net 首先,不得不说Redis官方提供了众多的API开发包,但是目前Redis官方版本不支持.Net直接进行连接,需要使用一些第三方的开源类库.目前最流行的就是Se ...
- MySQL数据库3 - MySQL常用数据类型
一. MySql常用数据类型 数据类型:整数(tinyint smailint int bigint) 定点数 decimal(p,s) ------ 小数点位置固定的 ---> 数 ...
- 【转】NoSQL初探之人人都爱Redis:(2)Redis API与常用数据类型简介
一.Redis API For .Net 首先,不得不说Redis官方提供了众多的API开发包,但是目前Redis官方版本不支持.Net直接进行连接,需要使用一些第三方的开源类库.目前最流行的就是Se ...
- Mssql中一些常用数据类型的说明和区别
Mssql中一些常用数据类型的说明和区别 1.bigint 占用8个字节的存储空间,取值范围在-2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,37 ...
- Redis常用数据类型介绍、使用场景及其操作命令
Redis常用数据类型介绍.使用场景及其操作命令 本文章同时也在cpper.info发布. Redis目前支持5种数据类型,分别是: 1.String(字符串) 2.List(列表) 3.Hash(字 ...
- Redis简介、与memcached比较、存储方式、应用场景、生产经验教训、安全设置、key的建议、安装和常用数据类型介绍、ServiceStack.Redis使用(1)
1.NOSQL简介 nosql的产生并不是要彻底的代替关系型数据库,而是作为传统关系型数据库的一个补充. Facebook和360使用Cassandra来存储海量社交数据 Twitter在其url抓取 ...
- Mysql常用数据类型
Mysql常用数据类型 数字: 字符串: 时间:
- python常用数据类型内置方法介绍
熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...
随机推荐
- N!分解质因子p的个数_快速求组合数C(n,m)
int f(int n,int p) { ) ; return f(n/p,p) + n/p; } https://www.xuebuyuan.com/2867209.html 求组合数C(n,m)( ...
- java 加密工具类(MD5、RSA、AES等加密方式)
1.加密工具类encryption MD5加密 import org.apache.commons.codec.digest.DigestUtils; /** * MD5加密组件 * * @autho ...
- document.ready(function(){}),window.onload,$(function(){})的区别
https://blog.csdn.net/qkzhx0516/article/details/79236514
- Ubuntu16.04安装YouCompleteMe
1.要求vim的版本在7.4.143以上,支持python2/3,通过vim --version查看. 2.下载源码: https://github.com/Valloric/YouComplete ...
- paramiko模块(01-04节)、SSH
1. SSH(安全外壳协议) SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SS ...
- POJ1738 An old Stone Game
题意 Language:Default An old Stone Game Time Limit: 5000MS Memory Limit: 30000K Total Submissions: 439 ...
- Python tkinter模块和参数
转自:https://www.cnblogs.com/aland-1415/p/6849193.html 1.使用tkinter.Tk() 生成主窗口(root=tkinter.Tk()):root. ...
- MongoDB的启动与停止(一)
1:启动和停止Mongodb 1)从命令行启动 执行mongod,启动MongoDB服务器,mongod有很多可配置的启动选项,可以使用mongod --help查看所有选项 -- ...
- mysql查询中AND与OR注意事项
在查询的where条件中,and要优于or 如果要改变优先级, 需要在最小逻辑判断的条件外加括号(),例如: select * from `table_name` where (`type` = 1 ...
- ueditor的简单用法
先粘贴未使用ueditor之前的代码: <body> <label for="input_content">作答区:</label> <t ...