OpenCv中矩阵的创建
来源:互联网 发布:矩阵特征值 编辑:程序博客网 时间:2024/04/28 01:32
摘要 : 此次实验主要是了解矩阵创建的方式以及获取矩阵的相关属性,通过实验达到访问其类型,维度等属性的目的。
关键词 :cvGreateMat() cvGetDims() cvGetElemType()
1.创建矩阵的方式:
(1):cvGreateMat(int rows,int cols,int type).Type可以使用任何定义类型;
Type:CV_<bit_depth>(S|U|F)<number_of_channels>(其中bit_depth代表数据位数,S:有符号整数, U:无符号整数
F:浮点)
For exemple:CvMat*mat=cvGreateMat(8,9,CV_32FC1);// 创建一个八行九列的32位浮点型单通道
(2):CvGreateMatHeader()函数创建CvMat结构体,不分配数据内存,由cvGreateData()函数分配数据需要的数据内存。
For exemple: CvMat*mat=cvGreateMat(8,8,CV_32FC1);
cvGreateMatHeader(mat);
2.获取矩阵的相关属性
(1)cvGetElemType() :数据类型
(2)cvGetDims():返回指定数组的维数并可以返回每一个维数的大小。如果数组sizes非空,那么大小将被写入sizes。如果使用了参数sizes,它应该是一个n个整数的指针,这里的n指维数。若不明确n的大小,可把sizes大小指定为CV_MAT_DIM。
(3)CvGetDimSize():返回一个由index参数指定的某一维的大小。
(4):cvGetSize():它与cvGetDims()密切相关,cvGetDims()返回一个数组的大小。主要的不同是cvGetSize()是专门为矩阵和图像设计的,这两种对象的维数总是2。
3.实验操作
#include"cv.h"
#include"highgui.h"
int main(int argc, char*argv[])
{
CvMat*mat = cvCreateMat(7, 8, CV_32FC3);//创建一个矩阵
int type = cvGetElemType(mat);//获取矩阵的类型
printf("矩阵的类型是:");//输出矩阵的类型
printf("%d\n", type);
int sizes[3] = { 0 };
int dims = cvGetDims(mat, sizes);//获取矩阵维度和每一维度上的大小
printf("矩阵的维度是:");
printf("%d\n", dims);
printf("矩阵每一维度的大小分别是:");
int main(int argc, char*argv[])
{
CvMat*mat = cvCreateMat(7, 8, CV_32FC3);//创建一个矩阵
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, 1);
printf("矩阵第二维的大小是:%d\n",number);
return 0;
}
printf("矩阵第二维的大小是:%d\n",number);
return 0;
}
运行结果如下图所示:
参考文献:《学习opencv(中文版)》P74-75
阅读全文
0 0
- OpenCv中矩阵的创建
- opencv中CvMat结构与矩阵的创建与访问
- OpenCV中矩阵的定义
- openCV中矩阵的读取
- OpenCV中矩阵的归一化
- OpenCV中矩阵的归一化
- OpenCv中矩阵的数据类型
- OpenCV中矩阵的归一化
- 【OpenCV】矩阵的创建与释放
- OpenCV-矩阵的创建和释放
- opencv 创建一个矩阵
- matlab中矩阵的创建
- OpenCV中协方差矩阵的计算
- Opencv中获取矩阵的元素值
- OpenCV中矩阵类型的个人理解
- OpenCV中常用的矩阵操作函数
- Opencv中对矩阵的操作
- OpenCV中数组(矩阵)的常用操作
- ue4 log
- java开发微信项目总结(一) 基本概念介绍
- 排序算法之希尔排序
- VM VirtualBox安装centos时连不上网时如何处理
- MixPHP 与 Phalcon 数据库并发性能测试
- OpenCv中矩阵的创建
- 两台服务器之间拷贝文件-scp方法
- 前端发展史
- OpenCV自带神经网络接口初探
- 第一次博客
- 使用idea快速搭建springmvc meavn项目
- 17
- 小程序scroll-view示例
- 模仿微信界面