OpenCV的基本数据结构
参考《OpenCV中文参考手册》
1、图像数据结构
(1) IPL :IplImage|-- int nChannels; // 颜色通道数目 (1,2,3,4)|-- int depth; // 像素的位深:| // IPL_DEPTH_8U, IPL_DEPTH_8S,| // IPL_DEPTH_16U,IPL_DEPTH_16S,| // IPL_DEPTH_32S,IPL_DEPTH_32F,| // IPL_DEPTH_64F|-- int width; // 图像宽度(像素为单位)|-- int height; // 图像高度|-- char* imageData; // 图像数据指针| // 注意彩色图像按BGR顺序存储数据|-- int dataOrder; // 0 - 将像素点不同通道的值交错排在一起,形成单一像素平面| // 1 - 把所有像素同通道值排在一起,形成若干个通道平面,再把平面排列起来| // cvCreateImage 只能创建像素交错排列式的图像|-- int origin; // 0 – 像素原点为左上角,| // 1 – 像素原点为左下角 (Windows bitmaps style)|-- int widthStep; // 相邻行的同列点之间的字节数|-- int imageSize; // 图像的大小(字节为单位) = height*widthStep|-- struct _IplROI *roi; // 图像的感兴趣区域(ROI). ROI非空时对图像的| // 处理仅限于ROI区域.|-- char *imageDataOrigin; // 图像数据未对齐时的数据原点指针| // (需要正确地重新分配图像内存 )| // (needed for correct image deallocation)|-- int align; // 图像数据的行对齐: 4 or 8 byte alignment| // OpenCV 中无此项,采用widthSt
2、矩阵与向量
(1) 矩阵:CvMat // 2D 矩阵|-- int type; // 元素类型 (uchar,short,int,float,double) 与标志|-- int step; // 整行长度字节数|-- int rows, cols; // 行、列数|-- int height, width; // 矩阵高度、宽度,与rows、cols对应|-- union data;|-- uchar* ptr; // data pointer for an unsigned char matrix|-- short* s; // data pointer for a short matrix|-- int* i; // data pointer for an integer matrix|-- float* fl; // data pointer for a float matrix|-- double* db; // data pointer for a double matrixCvMatND // N-维矩阵|-- int type; // 元素类型 (uchar,short,int,float,double) 与标志|-- int dims; // 矩阵维数|-- union data;| |-- uchar* ptr; // data pointer for an unsigned char matrix| |-- short* s; // data pointer for a short matrix| |-- int* i; // data pointer for an integer matrix| |-- float* fl; // data pointer for a float matrix| |-- double* db; // data pointer for a double matrix||-- struct dim[]; // 各维信息|-- size; // 元素数目|-- step; // 元素间距(字节为单位)CvSparseMat // N-维稀疏矩阵
(2)一般矩阵:CvArr* // 仅作为函数定义的参数使用,// 表明函数可以接受不同类型的矩阵作为参数,// 例如:IplImage*, CvMat* 甚至是 CvSeq*.// 矩阵的类型通过矩阵头的前4个字节信息来确定
(3)标量:CvScalar|-- double val[4]; //4D 向量初始化函数:// Example:CvScalar s = cvScalar(double val0, double val1=0, double val2=0, double val3=0); CvScalar s = cvScalar(20.0);s.val[0]=20.0;
3、其它结构类型
(1)点:CvPoint p = cvPoint(int x, int y);CvPoint2D32f p = cvPoint2D32f(float x, float y);CvPoint3D32f p = cvPoint3D32f(float x, float y, float z); //E.g.:p.x=5.0;p.y=5.0;
(2)矩形框大小(以像素为精度):CvSize r = cvSize(int width, int height);CvSize2D32f r = cvSize2D32f(float width, float height);
(3)矩形框的偏置和大小:CvRect r = cvRect(int x, int y, int width, int height);
OpenCV的基本数据结构相关推荐
- OPENCV中图像数据结构及其转化
OPENCV中图像数据结构及其转化 1. IplImage 它是openCV库中表示图像的结构体. 初始化: cvLoadImage(),cvCreateImage() 访问元素:[行指针] b = ...
- OPENCV中的数据结构总结
最近在写自己的算法,其实就是对一些传统算法的改进.传统算法可以参考opecv的源代码.在阅读源代码的过程中,我慢慢领会到了opencv的强大之处,并不是因为它实现了各种算法,而是在于它对于基本数据结构 ...
- OpenCV中的数据结构
首先介绍2维点对Point_,它的是一个模板类.我们可以直接访问数据成员x,y.它不仅定了+.-.==.!=这4个基本的操作,还定义了点乘.叉乘等操作.特别的这个类还提供了inside函数来判断一个点 ...
- OpenCV中基本数据结构(7)_Vec
Vec系列数据结构是Matx的一个派生类,其矩阵的行的大小永远固定为一行,列大小从1到6不等,可以认为类似与C++ vector,但与C++ 的vector又有很大不同,,以下不同来自于一段技术博客, ...
- OpenCV中基本数据结构(5)_RotatedRect
RotatedRect也是表示一个矩形框,但是与Rect不同的是,RotatedRect可以带倾斜角的矩形,如下图所示: RotatedRect结构中包括三个变量: Point2f center:为矩 ...
- OpenCV中基本数据结构(4)_Rect
Rect数据结构经常是在OpenCV中被用来表示为一个矩形尺寸,其成员包括x,y, width,height,其中x和y分别表示矩形框的左上角的起始点坐标,width和height分别表示宽和高. R ...
- OpenCV中基本数据结构(3)_Size
Size数据结构经常被OpenCV用来表示尺寸,其成员为width和height,被用来表示矩阵或者图片的宽和高. Size Size预定义个几个类型有: Size2i:整型int Size2l:in ...
- OpenCV中基本数据结构(1)_Point
为了便于对一些常见的数据进行操作,OpenCV定义了一些常见的数据结构(Point ,Scalar等),以方便后续对数据算法的实现,主要分为basic data type.helper objects ...
- 【OpenCV】KeyPoint数据结构
KeyPoint数据结构 KeyPoint数据结构官方说明网站:(http://docs.opencv.org/3.3.0/d2/d29/classcv_1_1KeyPoint.html) 公有属性 ...
最新文章
- 如何在Gihub上面精准搜索开源项目?
- [html]history禁用浏览器的后退功能(包括其他操作后退的按钮,操作等)
- 足不出户,游遍七大洲,不可错过的14部地理纪录片!
- pe下找不到ssd硬盘_【进入pe系统后认不到硬盘解决方法】进入pe系统看不到硬盘_pe系统不认硬盘...
- 三星5G手机全球销量200万台:年底将翻番
- Visual Studio 2017 15.4 正式发布,那些你必须知道的新特性!
- 全方位带你解读软件测试分类
- 什么是编解码器codec
- 软件测试固态硬盘健康状态良好,别被忽悠!3分钟教你搞懂SSD性能测试各项数据!...
- 通信系列2: 深入浅出SIP协议
- android开发板单片机蓝牙通信
- 中国多媒体与网络教学学报杂志中国多媒体与网络教学学报杂志社中国多媒体与网络教学学报编辑部2022年第6期目录
- JAVA 查看线程、内存
- 【唐诗学习】一、古诗概述
- 微信开发者工具调试公众号网页提示: 未绑定为公众号的网页开发者
- Docker下载安装运行Nginx服务
- 「滴滴-橙心优选」秋招面试复盘总结
- 往事依稀浑似梦 都随风雨到心头 ——OI回忆录
- 转:开源图形库 c语言-图形图像库 集合
- 求乎其上,得乎其中;求乎其中,得乎其下也
热门文章
- phpstrom配置Xdebug
- 题解 【NOIP2014】解方程
- Spring cloud开发内存占用过高解决方法
- Oracle 增加修改删除字段与添加注释
- Hive集成Mysql作为元数据时,提示错误:Specified key was too long; max key length is 767 bytes...
- underscore.js中的节流函数debounce及trottle
- python与数值计算环境安装
- 2-3-TOMCAT服务器
- java list 在头部添加6_【Java提高十六】集合List接口详解
- 安卓rtmp推流app_同城直播电商APP小程序平台开发