CvMat结构
来源:互联网 发布:标准件网络销售 编辑:程序博客网 时间:2024/06/05 14:26
1、cvCreateMat(int rows,int cols,int type),Type可以使任何预定义类型。Type的写法规则:CV_<bit_depth>(S|U|F)C<number_of_channels,比如CV_32FC1, 32位浮点型,单通道。 CvMat* mat=cvCreateMat(8,9,CV_32FC1); //创建一个8行9列的32位浮点型单通道矩阵
2、cvCreateMatHeader()函数创建CvMat结构体,不分配数据内存,然后由cvCreateData()函数分配数据需要的内存。 CvMat*mat=cvCreateMatHeader(8,9,CV_32FC1); cvCreateMatHeader(mat);
3、数组创建矩阵:cvInitMatHeader()函数,在已有的CvMat结构体上初始化矩阵。
float data[]={1,2,3,4}; CvMat* mat; cvInitMatHeader(&mat,2,2,CV_32FC1,data);
4、cvCloneMat(),该函数依据现有矩阵克隆一个矩阵,分配了独立的空间,需要使用cvReleaseMat()释放。 CvMat* mat_1=cvCloneMat(mat);
二、获取矩阵的相关属性
1、获取矩阵的数据类型:cvGetElemType
2、获取矩阵的维度和每一维上的大小:cvGetDims
3、获取矩阵某一个维度上的大小:cvGetDimSize
4、二维矩阵获取矩阵大小:cvGetSize
#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include "cxcore.h"
int main(int argc, char* argv[])
{
CvMat *mat=cvCreateMat(8,9,CV_32FC1); //创建一个矩阵
int type=cvGetElemType(mat); //获取矩阵的类型
printf("矩阵的类型是: ");
printf("%d\n",type);
int sizes[3]={0};
int dims=cvGetDims(mat,sizes); //获取矩阵的维度和每一维上的大小
printf("矩阵的维度是: ");
printf("%d\n",dims);
printf("矩阵每一维的大小分别是: ");
printf("%d %d\n",sizes[0],sizes[1]);
int number=cvGetDimSize(mat,0); //获取矩阵某一维的大小
printf("矩阵第2维的大小是: %d\n",number);
return 0;
}
运行结果:
- CvMat结构
- CvMat结构
- CvMat矩阵结构
- opencv CvMat矩阵结构
- 【opencv】CvMat矩阵结构
- OpenCV矩阵结构CvMat初探
- OpenCV矩阵结构CvMat初探
- OpenCV矩阵结构CvMat初探
- CvMat
- CvMat
- CvMat
- 用Socket保存OpenCV的CvMat结构
- cvMat结构体的详细解释
- 【OpenCV矩阵结构体】CvMat的操作
- OpenCV笔记(四)CvMat结构体初解1
- OpenCV笔记(六)CvMat结构体初解3
- OpenCV笔记(五)CvMat结构体初解2
- opencv中CvMat结构与矩阵的创建与访问
- Opencv读取视频
- 免费无限次的API 接口
- Opencv创建有滚动条的视频
- Opencv基本数据结构
- 矩阵与维度通道的介绍
- CvMat结构
- 通过指针访问矩阵数据
- svn服务器ubuntu
- 理解DOMString、Document、FormData、Blob、File、ArrayBuffer数据类型
- IplImage结构体
- 图像的灰度直方图
- easyui下的datagrid后台数据加载和分页
- RGB与HSV颜色空间
- HSV与RGB颜色空间的转换